The aim of this course is to train students to have the core programming skills necessary to be successful professional programmers. It teaches students a principled approach to designing & implementing software so that it will be almost certainly correct, as well as easy to understand and change.
See the course information page for full details on the course structure, policies, and staff members.
In addition to in-person discussion, students and staff will communicate through the following means:
We have lectures Monday, Wednesday, and Friday, quiz sections on Tuesday, and office hours spread throughout the week. The following table shows their times and locations.
Monday | Tuesday | Wednesday | Thursday | Friday |
|
9:30–3:20 Quiz Sections
see the table below |
|
|
|
The regular weekly schedule has the following exceptions:
There are no office hours during finals week or during the first week, other than Kevin's, unless a staff member announces otherwise on the message board.
There are no activities on holidays listed on the course calendar.
Occasional office hours may be cancelled for various reasons. When this happens, the staff member holding those hours will announce that on the message board.
See the course calendar for further details of each day's required activities, including the due dates of homework assignments.
Section | Time | Building | Room | TAs |
---|---|---|---|---|
AB | 9:30 | ECE | 025 | Edison |
AC | 10:30 | SAV | 131 | Jaela & Katherine L |
AD | 1130 | LOW | 101 | Katherine M |
AE | 1230 | ECE | 025 | Ali |
BD | 1230 | SAV | 156 | Adina |
BA | 130 | SAV | 130 | Adina & Omar |
BB | 230 | THO | 234 | Alex |
BC | 330 | SAV | 139 | Adam & Antonio |