The course introduces software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). By the end of the course students should be able to use existing and create new software tools, implement forks and pipes, signals and sockets, and feel comfortable with shell scripting.
CSC 209 is being delivered as an inverted class. This requires an independent online preparation for the lectures and provides an opportunity for in-class exercises during the lecture time.
Course work includes weekly preps, weekly labs, and four programming assignments. The prep exercises will be due at 11 AM on Tuesdays (just before the lectures), and will be worth 5% of the final mark. The weekly labs are due every Friday at 2 PM (just after tutorial sessions), and will be worth 10%. Programming assignments use the same concepts in the context of larger programs and require more significant design and the use of more sophisticated tools. Together these four assignments are worth 35%.