Introduction
Announcements

Schedule
Labs
Assignments
TA office hours

Tests, exam

Topic videos
Some course notes
Extra problems
Lecture recordings

Discussion board

Grades so far

CSC 209 course prerequisites

To complete CSC 209 successfully, you will need to have certain background. This page attempts to outline the required background. The intention is that the formal prerequisites ensure that you have this background. Any questions, please don't hesitate to ask, by e-mail or in office hours.

If you don't have the formal prerequisites and are seeking a prerequisite waiver, I will use this list to attempt to determine whether you can successfully complete the course and hence should have a waiver. Please note that you will be automatically removed from the course if you don't have the formal prerequisites and do not have a waiver!

Crucial programming background normally acquired in CSC 207:

Helpful unix/linux background often acquired in CSC 207:

CSC 258

CSC 258 is not a prerequisite, but its introduction to the machine-level memory model (memory is a vast array of words; words have addresses; you can make arrays by doing arithmetic on addresses) and the basic machine-language execution model (fetching and executing instructions from memory; and subroutine calls and the stack) are very helpful background for CSC 209. If you don't have CSC 207 but you do have CSC 258, do mention CSC 258 in your prerequisite waiver request.