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 CoveredTestsAssignments/Labs Due
Week 1 January 6 - January 10 Introduction to the course.
Introduction to Complexity analysis and the Big O notation.
C Programming Fundamentals:
Control flow. Storage Classes. Scope of variables. Type casting.
Modular Design and Functions.
Week 2 January 13 - January 17 C Programming: Pre-processor directives.
Pointers and Arrays. Pass-by-Value in C.
Characters and Strings.
Week 3 January 20 - January 24 Strings and Pointers. String-copy functions.
Void and NULL Pointers. const qualifier.
Memory layout of a program. Dynamic Memory Management in C.
Quiz N1 (1%)
Week 4 January 27 - January 31 Random Numbers.
Streams. File I/O in C.
Array of pointers.
Assignment N1 (5%)
Week 5 February 3 - February 7 Pointer to a Pointer. Dynamic arrays.
Structures, enumerations and unions.
User-defined types.
Quiz N2 (1%)
Week 6 February 10 - February 14 Pointers to Structures. Pointers within a structure.
Memory Alignment and Padding.
Pointer to a function. Command line arguments.
Assignment N2 (5%)
Week 7 February 17 - February 21 Catch up lecture. Final Project Discussions.
Midterm covering weeks 1-7 (30%)
February 24 - February 28 Reading Week - No Classes
Week 8 March 2 - March 6 Linked Lists:
Operations, implementations and applications.
Week 9 March 8 - March 13 Stacks and Queues:
Operations, implementations and applications.
Quiz N3 (1%)
Week 10 March 16 - March 20 Complexity Analysis.
Searching and Sorting algorithms.
Assignment N3 (5%)
Week 11 March 23 - March 27 Trees:
Operations, implementations and applications.
Quiz N4 (1%)
Week 12 March 30 - April 3 Hash Tables:
Implementation, complexity analysis.
Assignment N4 (5%)
Week 13 April 6 - April 10 Graphs:
Implementation, searching algorithms.
Quiz N5 (1%)
Week 14 April 13 - April 17 Final Project Presentations.
Final Exam covering weeks 8-13 (30%).
Final Project (15%)
Wednesday February 26th, 2020.
© Alex Babanski