Instructor: Richard Vaughan
Schedule - Fall 2017
As discussed in class, we introduce two intermediate deadlines to help push you along.
You can not pass the class without meeting these due dates.
You may continue to submit tasks and receive feedback on them all semester, but your final grade will reflect the code submitted before the due dates only.
There will be no new lab assigned in the week of 26 Sept.
Labs are held in CSIL's main room (ASB 9838) at these times:
Vaughan and two TAs are available in lab hours.
TAs are also available in CSIL 9840 (usually) at the times shown on the calendar below. The calendar also shows holidays, reading break, etc.
That's 3 + 10 = 13 hours per week of TA-supported lab time: use it well.
Instructor office hours:
This class will teach you the basics of programming in C and C++, with an emphasis on program design and testing. We will use the standard UNIX command-line build and version control tools.
The class is intended to be taken simultaneously with CMPT 125, and the material is closely synchronized.
More than most modern languages, learning C helps/forces you to understand how the computer and operating system works. C was designed as a system-programming language, so it is small, works everywhere, and (when well-written) can be very high-performance. However, it is very easy to write bugs in C code. You will learn strategies for testing and debugging, but most of all we will discuss approaches for writing correct and well-designed code in the first place. You can learn C in a semester, but becoming expert takes longer.
Assignments == lab tasks
This class consists of ten labs plus a simple warmup Lab 0. Labs are issued to you every tuesday starting from Week 2 of the semester. Each lab contains several tasks, small assignments that are submitted individually.
You submit your code solutions to an online version control system, and they are automatically tested. You may submit solutions at any time, and you may make multiple attempts.
All lab tasks are due before the midnight following the last day of classes, that is, your entire repo at the moment of the deadline will be graded.
This means that:
An anonymous league table shows everybody's progress.
Your grade will depend on how many tasks you solve correctly. You need at least 75% to pass the class. The class is not graded on a curve.
Procedure for getting help:
Restricted to enrolled students. Labs are set weekly, and content may change up to a lab's release day.