CO214: Data structures and Algorithms
| Course Number : CO214 | ||||||
|---|---|---|---|---|---|---|
| Course Title : Data structures and Algorithms | ||||||
| Credits : 3 | ||||||
| Prerequisites : Computer Programming (CO212) | ||||||
| No | Course Content | Time Allocated (hours) | ||||
|   |   |   | L | T | P | A |
| 01 | Introduction Programs = Algorithms + Data Structures, Abstract Data Types (ADT) | 1 |   |   |   | |
| 02 | Correctness and Complexity analysis Asymptotic Notations and Standard Efficiency Classes, Complexity of recursive algorithms, Time-space tradeoffs, Empirical measurements of performance, Using preconditions, post-conditions and invariants to verify correctness | 3 | 2 |   |   | |
| 03 | Simple Search & Sort
Sequential and binary search algorithms, Quadratic time sorting algorithms (Selection, Insertion) as instances of Brute-force strategy | 3 | 1 | 2 | 2 | |
| 04 | Efficient Sorting
Review of recursion. Quick-sort, merge-sort as instances of Divide-and-conquer strategy, Radix / bin sorting | 4 | 1 | 2 | 2 | |
| 05 | Basic Data Structures:
Linked lists, Stacks and queues , Priority queues (Heaps), Heap-sort | 3 |   | 2 | 3 | |
| 06 | Hashing and Sets
Hash functions and codes, Collision handling, The Set ADT, Implementing Sets using hash tables | 3 |   | 2 | 3 | |
| 07 | Trees
The Tree ADT. Binary search trees, Tree traversals, Tries and B-Trees. | 4 |   | 2 | 4 | |
| 08 | Graph Algorithms
Representations of graphs (adjacency list, adjacency matrix), Depth and breadth-first traversals, The Greedy algorithmic strategy: Dijkstra's shortest path, Dynamic programming: Floyd's Transitive closure, Prim's minimum spanning tree | 5 | 2 | 4 | ||
| Total | 26 | 4 | 12 | 18 | ||
| Assessment | Percentage Marks | |||||
| Continuous Assessment | 40 |   | ||||
|          Tutorials |   | 10 | ||||
|          Practical work |   | 10 | ||||
|          Assignments |   | 20 | ||||
| Written Examinations | 60 |   | ||||
|          Mid-semester |   | 20 | ||||
|          End-semester |   | 40 | ||||