This is a tentative schedule of what we'll be covering in class each week, along with dates for assignments, exercises, and exams.
Note that this is subject to change, so check this page frequently! Go Back.


WeekDatesTopics CoveredWork Due
Week 1 September 6 - September 12
1 class only
Introduction to the course.
Introduction to Complexity analysis and the Big O notation.
Development Environment.
C Programming: Fundamentals.
Week 2 September 13 - September 19 Control flow. Functions. Storage Classes. Scope of variables.
Pre-processor directives. 1D Arrays.
Introduction to Pointers.
Week 3 September 20 - September 26 Working with Pointers. Arrays as Pointers.
sizeof() operator.
Characters and Strings.
Quiz N1 (2.5%)
Week 4 September 27 - October 3 Strings and Pointers. Void and NULL Pointers. const qualifier.
Memory layout of a program. Dynamic Memory Management in C.
Test N1 (15%)
Assignment N1 (7.5%)
Week 5 October 4 - October 10 Array of pointers. Pointer to a Pointer.
Streams. File I/O in C.
Week 6 October 11 - October 17
1 class only
2D and Multidimensional Arrays.
Random Numbers. Command line arguments.
Week 7 October 18 - October 24 Pointer to a function.
Structures, enumerations and unions.
Pointers to Structures. Pointers within a structure.
Quiz N2 (2.5%)
Assignment N2 (7.5%)
October 25 - October 31 Reading Week - No Classes
Week 8 November 1 - November 7 Array of Structures. Arrays of Pointers to Structures.
Linked Lists:
Operations, implementations and applications.
Test N2 (15%)
Week 9 November 8 - November 14 DIY Book Chapters: Data Structures, Algorithms
Complexity Analysis. Searching and Sorting algorithms.
Week 10 November 15 - November 21 Trees and Binary Trees:
Operations, implementations and applications.
Quiz N3 (2.5%)
Assignment N3 (7.5%)
Week 11 November 22 - November 28 Stacks and Queues:
Operations, implementations and applications.
Test N3 (15%)
Week 12 November 29 - December 5 Hash Tables:
Implementation, complexity analysis.
Week 13 December 6 - December 12 Graphs:
Implementation, searching algorithms.
Quiz N4 (2.5%)
Assignment N4 (7.5%)
Week 14 December 14 - December 19 Catch up lecture. Material review weeks 8-14. Test N4 (15%)
Thursday December 2nd, 2021.
© Alex Babanski