Professor:
Tia Newhall
Office: Science Center 249
Office hours: Mondays and Thursdays 3-4pm, and by appointment
Lecturer:
David Mauskop
Office: Science Center 262A
Office hours: Thursdays 11-1pm, and by appointment
Class: 1:15 Tuesdays and Thursdays, Sci Cntr 199
Lab A (Newhall):
10:30 Wednesdays, Sci Cntr 240
Lab B (Mauskop):
1:15 Wednesdays, Sci Cntr 256
Lab C (Mauskop):
3:00 Wednesdays, Sci Cntr 256
Link to course piazza page
Link to CS31-F17 GitHub org
Optional Text:
Additionally, each week there
will be supplemental (optional) readings, many from the
optional textbook:
Computer Systems: A Programmer's Perspective,
2nd Edition
Bryant and O'Hallaron,
Prentice Hall, 2011, ISBN: 0-13-610804-0
Copies of the optional textbook are on reserve at Cornell Library.
You are not required to purchase this textbook, but if you
do, make sure to purchase the second edition not the third.
I also recommend that you keep the textbook after taking CS31;
it will be a useful reference for many upper-level CS courses.
The required weekly readings are from on-line sources. Supplemental (optional) weekly readings are listed as section numbers from the textbook. The textbook covers much material in more depth than we will in this class. Take a look at tips for reading CS textbooks to help you determine what to focus on and how to get the most out of both the on-line required and supplemental textbook readings.
WEEK | DAY | ANNOUNCEMENTS | TOPIC & READING | LABS |
1 | Sep 05 | Topics
Required Reading
Supplemental (Optional) Reading
| Lab 0: unix, github, piazza Lab 1: binary represenation/ops | |
Sep 07 | ||||
2 | Sep 12 | Topics
Required Reading
Supplemental Reading |
Lab 2: C programming Written HW: HW 1 | |
Sep 14 | Drop/add ends (Sep 15) | |||
3 | Sep 19 | Topics
Required Reading
Supplemental: Chapts: 1.4, 4.2 |
Lab 3: Circuits/ALU Written HW: HW 2 | |
Sep 21 | ||||
4 | Sep 26 | Topics
Required Reading
Supplemental
|
Lab 3 (cont): Circuits/ALU Written HW: HW 3 | |
Sep 28 | ||||
5 | Oct 03 | Topics
Required Reading
Supplemental
| Wed Lab pointers, gdb, valgrind Lab 4: C Pointers Written HW: HW 4 | |
Oct 05 | ||||
6 | Oct 10 | Topics
Required Reading
Supplemental: 3.6-3.11, 3.15 (skip 3.6.7, 3.8.4, 3.8.5, 3.9.2) | Wed Lab writing IA32 assembly, tools for examining binary files Lab 5: assembly programming Written HW: HW 5 | |
Oct 12 | ||||
Oct 17 | Fall Break | |||
Oct 19 | ||||
7 | Oct 24 | Topics
Required Reading
Supplemental: 1.5-1.7 | Wed Lab gdb, ddd for examining binary files Lab 6: maze | |
Oct 26 | ||||
8 | Oct 30 | Midterm (7:30-9:30pm) | ||
Oct 31 | Topics
Required Reading
Supplemental: 1.5-1.7 | Wed Lab man, tools for binary files Lab 6 (cont): maze | ||
Nov 02 | ||||
9 | Nov 07 | Topics
Required Reading
Supplemental: 1.7, 8.1-8.5 | Wed Lab cmdline args, fileI/O, 2Darrays Lab 7: gol HW 6: caching | |
Nov 09 | CR/NC/W Deadline (Nov 10) | |||
10 | Nov 14 | Topics
Required Reading
Supplemental: 9.1-9.3, 9.9 | Wed Lab C libraries, signals, circular arrays Lab 8: unix shell | |
Nov 16 | ||||
11 | Nov 21 | Topics
Required Reading
Supplemental: 1.7, 1.9, 12 | Wed Lab C strings, implementing a library Lab 9: parsecmd library | |
Nov 23 | Thanksgiving | |||
12 | Nov 28 | Topics
Required Reading
Supplemental: 1.7, 1.9, 12 | Wed Lab pthreads Lab 10: parallel gol Thurs: in-class exercise HW 7: virtual memory | |
Nov 30 | ||||
13 | Dec 05 | Topics
Required Reading
Supplemental: 12 | Wed Lab pthreads Thurs: in-class exercise | |
Dec 07 | ||||
14 | Dec 12 | Topics
Required Reading
Supplemental: 12 |
| |
Dec 16 | Final (2:00-5:00pm, Sci Ctr 101) |