Syllabus EHB208E Autumn 2024 - Rev2
Syllabus EHB208E Autumn 2024 - Rev2
Syllabus EHB208E Autumn 2024 - Rev2
Course Description
The course involves the study of basic data structures (e.g., stack, queue, linked list, tree, binary search
tree) and associated algorithms.
Topics
Week 1: Introduction to Data Structures and Algorithm Analysis
Theoretical Lecture 1: Overview of Data Structures, importance in C programming, and basic terminology.
Theoretical Lecture 2: Introduction to Algorithm Analysis – time complexity, space complexity, and Big O notation.
Practical Lecture: Analyzing the time complexity of simple algorithms (e.g., linear search, sum of elements).
Week 5: Stacks
Theoretical Lecture 1: Introduction to stacks – LIFO principle, operations using arrays and linked lists.
Theoretical Lecture 2: Applications of stacks – expression evaluation, parentheses matching.
Practical Lecture: Implementing stack operations in C.
Week 6: Queues
Theoretical Lecture 1: Introduction to queues – FIFO principle, queue operations using arrays and linked lists.
Theoretical Lecture 2: Circular queues and priority queues.
Practical Lecture: Implementing queue operations in C.
Week 8: Recursion
Theoretical Lecture 1: Introduction to recursion – base case, recursive case, and applications.
Theoretical Lecture 2: Recursion vs. iteration, recursion in data structures (e.g., factorial, Fibonacci).
Practical Lecture: Solving problems using recursion in C.
Assessment Overview:
Midterm 1: Week 7 – Covers Weeks 1-6 (Algorithm Analysis, Arrays, Pointers, Linked Lists, Stacks, Queues).
Midterm 2: Week 12 – Covers Weeks 3-11 (Linked Lists, Stacks, Queues, Recursion, Trees, Graphs).
Final Exam: After Week 14 – Comprehensive exam covering the entire course.
This syllabus ensures you cover critical data structures (arrays, linked lists, stacks, queues, trees, graphs) along with algorithm
analysis, recursion, and sorting. Graphs are introduced later in the course, followed by comprehensive final exam preparation.