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 May 6 - May 10 Introduction to the course.
Development Environment, C Fundamentals.
Scope of variables, storage classes and functions.
Week 2 May 13 - May 17 Random Numbers. Pre-processor, Compiler and Linker.
One-dimensional arrays. Memory layout of a C program.
Introduction to Pointers. Pointers and Arrays.
Week 3 May 20 - May 24 Input-Output in C. Characters and Strings.
Strings and Pointers. Functions and Strings.
const Qualifier. String-copy functions.
Array of pointers.
Assignment N1 (5%)
Week 4 May 27 - May 31 File I/O.
Pointer to a function. Pointer to a Pointer.
Dynamic memory management. Dynamic 1D arrays.
Quiz N1 (1%)
Week 5 June 3 - June 7 Multi-dimensional arrays.
Structures, enumerations and unions.
User-defined types.
Assignment N2 (5%)
Week 6 June 10 - June 14 Memory Alignment and Padding.
Pointers within a Structure.
Dynamic memory allocations for Structures.
Linked lists:
Operations, implementations and applications.
Quiz N2 (1%)
Week 7 June 17 - June 21 Week1-Week7 review.
Midterm covering weeks 1-7 (30%)
Assignment N3 (5%)
June 24 - June 28 Reading Week - No Classes
Week 8 July 1 - July 5 Stacks and Queues:
Operations, array-based implementations.
List-based implementations, applications.
Week 9 July 7 - July 12 Stacks and Queues:
Operations, array-based implementations.
List-based implementations, applications.
Quiz N3 (1%)
Week 10 July 15 - July 19 Trees:
Binary trees, balancing trees.
Searching and sorting trees.
Assignment N4 (5%)
Week 11 July 22 - July 26 Algorithm Analysis, searching and sorting:
Complexity analysis, the Big O notation.
Searching and data structures, sorting algorithms.
Quiz N4 (1%)
Week 12 July 29 - August 2 Hash Tables:
Implementation, complexity analysis.
Week 13 August 5 - August 9 Graphs:
Implementation, searching algorithms.
Quiz N5 (1%)
Week 14 August 12 - August 16 Review weeks 8-13. Final Exam covering weeks 8-13 (30%). Final Project (15%)
Wednesday December 11th, 2019.
© Alex Babanski