This unit focuses on designing algorithms and data structures, covering fundamental principles, linked lists, stacks, queues, search and sorting techniques, graph and tree structures, and recursion. It includes 170 hours of instruction with various assessment methods such as written, oral, and practical tests. Suggested instructional methods involve presentations, guided activities, and expert visits, utilizing resources like Visual Studio and computers.
This unit focuses on designing algorithms and data structures, covering fundamental principles, linked lists, stacks, queues, search and sorting techniques, graph and tree structures, and recursion. It includes 170 hours of instruction with various assessment methods such as written, oral, and practical tests. Suggested instructional methods involve presentations, guided activities, and expert visits, utilizing resources like Visual Studio and computers.
This unit addresses the unit of competency: Design Algorithms and Data Structures Duration of Unit: 170 hours Unit Description This unit covers the competencies required to design algorithms and data structures. It involves understanding fundamental principles of algorithms and principles of data structures, demonstrating linked lists, representing stacks and queues, demonstrating search techniques, performing sorting techniques, illustrating graph data structure and tree data structure and performing recursion. Summary of Learning Outcomes 1. Understand fundamental principles of algorithms 2. Understand fundamental principles of data structures 3. Demonstrate linked lists 4. Represent stacks and queues 5. Demonstrate search techniques 6. Perform sorting techniques 7. Illustrate graph data structure 8. Illustrate tree data structure 9. Perform recursion
Learning Outcome Suggested
Content Assessment Method 1. Understand • Definition of an Algorithm • Written tests fundamental principles • Characteristics of an Algorithm • Oral tests of algorithms • Principles of algorithm writing • Practical tests • Algorithm Analysis • Complexities of algorithms ✓ Space ✓ Time • Greedy algorithms are outlined ✓ Counting coins • Divide and conquer algorithms ✓ Divide /break ✓ Conquer/solve ✓ Merge/combine Understand fundamental • Key concepts in data structures • Written tests concepts of data ✓ Data • Oral tests structures ✓ Object • Practical tests ✓ Data type • Explanation of Arrays • Array insertion operations ✓ At the beginning ✓ At the given index ✓ After the given index ✓ Before the given index • Array delete, search and update • Demonstration of array operations Demonstrate linked lists • Linked lists • Written tests ✓ Linked lists representation • Oral tests ✓ Types of linked lists • Practical tests • Basic operations • Doubly linked lists ✓ Representation ✓ Basic operations • Circular linked lists ✓ Representation ✓ Basic operations • Demonstration of basic operations for the various linked lists using C# ✓ Insertion ✓ Deletion ✓ Reverse ✓ Display Represent stacks and • Definition of Stacks • Written tests queues • Representation of stacks • Oral tests • Basic operations • Practical tests ✓ Pop ✓ Push • Definition of queues • Representation of queues • Basic operations ✓ Enqueue ✓ Dequeue • Demonstration of stack and queues using C# • Demonstrate search • Definition of search • Written tests techniques • Explanation of Linear Search • Oral tests • Explanation of Binary Search • Practical tests • Demonstration of linear search and binary search using C# Perform sorting • Definition of Sorting • Written tests techniques • Categories of sorting • Oral tests ✓ Stable and not stable sorting • Practical tests ✓ Adaptive and Non-Adaptive Sorting Algorithm ✓ In place and not in place • Types of Sorting algorithms ✓ Bubble sort ✓ Insertion sort ✓ Selection sort • Demonstration of sorting algorithms using C# Illustrate graph data • Graph Data Structure • Written tests ✓ Vertex • Oral tests structure ✓ Edge • Practical tests ✓ Adjacency ✓ Path • Graph Operations ✓ AddNode ✓ RemoveNode ✓ AddEdge ✓ DisplayNode • Graph Traversals ✓ Breadth first ✓ Depth first • Explanation of Shortest paths • Demonstration of shortest paths using C# Illustrate trees data • Trees Data Structure • Written tests ✓ Root Node • Oral tests structure ✓ Path • Practical tests ✓ Parent Node ✓ Child Node ✓ Leaf Node ✓ Subtree ✓ Siblings ✓ Traversing ✓ Levels ✓ Visiting • Tree Traversal ✓ In-order ✓ Pre-order ✓ Post-order • Binary Search Tree ✓ Representation ✓ Operations • Spanning trees ✓ Properties ✓ Applications ✓ Minimum spanning tree ✓ Kruskal spanning tree ✓ Prim spanning tree • Demonstration of binary search tree operations using C# Perform recursion • Definition of recursion • Written tests • Properties of a recursive function • Oral tests ✓ Base criteria • Practical tests ✓ Progressive approach • Demonstration of recursion using C#
Suggested Methods of Instruction
• Presentations by trainer; • Guided learner activities and research to develop underpinning knowledge; • Supervised practical assignments • Visiting expert from the ICT sector; • Industrial visits
Recommended Resources Tools • Visual Studio Equipment • Computers