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:
- Experience with writing several-hundred line programs involving
multiple modules with well-defined interfaces between them.
Experience with
adhering to specified interfaces such that your code can be linked with
code you haven't seen.
- Separate compilation (multiple .java files or .c files, potentially
written at different times); using an automated system such as "make" to
manage the separate compilation automatically (avoiding human errors such
as neglecting to re-compile a changed file).
- Simple use of a debugger. You may find this to be more important
in the C programming language than it might have been in 207.
-
Use of a source-control system such as "subversion" (svn) or "git".
Helpful unix/linux background often acquired in CSC 207:
- Basic unix usage ("cat" and "ls" and like that; i/o redirection;
pipes).
- Simple scripting (e.g. putting a sequence of five commands
into a file and typing "sh file" to invoke it).
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.