Lecture notes are provided as Microsoft PowerPoint (PPT) files.
Printing the slides before class as
"Handouts", 3 per page, with "comment pages" makes it easy to follow along and take notes at the same time.
Readings: Read this material before class.
Problems:
These are suggested practice problems for you to try. They are not required and will not
be graded. Some are "Practice Problems" in the text for which solutions are given.
Some are "Homework Problems" for which no solution is given. Feel free to work on these together and ask your instructor or TA for assistance.
KR means The C Programming Language
by Kernighan and Ritche
EC means
Essential C by Nick Parlante from Stanford (used with permission)
BO means Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron
Class # | Day | Date | Title | Reading | Problems | Assign |
---|---|---|---|---|---|---|
1 | Wed/Th | Aug 31/Sep 1 | C Basics / Overview | |||
2 | Mon/Tue | Sep/5/6 | Labor Day / C Basics | KR 1,2,3 EC 1,2,4 |
KR 1-11, 1-12, 1-15, 2-2, 2-4, 2-6, 3-5 | |
3 | Wed/Th | Sep 7/8 | Input / Output | KR 7.1 - 7.7, App B1 | KR 7-1, 7-6, | |
4 | Mon/Tue | Sep 12/13 | Chars and Strings | KR 1.5, B2, B3 EC 3 |
KR 1-8, 1-9, 1-10 | P1 Out |
5 | Wed/Th | Sep 14/15 | Structs / Unions | KR 6.1 - 6.3 6.7 - 6.9 |
||
6 | Mon/Tue | Sep 19/20 | Functions / Separate Compilation | KR 4 EC 7 |
4-1, 4-12 | P1 Due |
7 | Wed/Thu | Sep 21/22 | Functions / Separate Compilation | KR 4 EC 7 |
4-1, 4-12 | P2 Out |
8 | Mon/Tue | Sep 26/27 | Pointer Basics | KR 5.1, 5.2 or EC 3 |
KR 5-3, 5-4 | |
9 | Wed/Th | Sep 28/29 | Pointers and Arrays | KR 5.3 - 5.4 or EC 6 |
KR 5-9 | |
10 | Mon/Tue | Oct 3/4 | Advanced Pointers | KR 5.6, 5.10 | P2 Due P3 Out |
|
11 | Wed/Th | Oct 5/6 | Pointer Case Study / Exam Review | |||
12 | Mon/Tue | Oct 10/11 | Exam 1 | Exam 1 Study Guide | ||
13 | Wed/Th | Oct 12/13 | Bits and Bytes | BO 2.1 | BO 2.3, 2.4, 2.5 2.8, 2.10, 2.14, 2.16 |
|
14 | MonTu | Oct 17/18 | Integers | BO 2.2 - 2.3 | BO 2.23, 2.26, 2.31 2.38, 2.40, 2.43, 2.44 |
P3 Due |
15 | Wed/Th | Oct 19/20 | Introduction to Assembly | P4 Out | ||
16 | Mon/Tue | Oct 24/25 | Registers and Memory | BO 3.1 - 3.5 | BO 3.1 - 3.12 | |
17 | Wed/Th | Oct 26/27 | Conditions and Loops | BO 3.6.1 - 3.6.5 | BO 3.13, 3.14, 3.16 - 3.18, 3.20 - 3.23 | |
18 | Mon/Tue | Oct 31/Nov 1 | Switches | BO 3.6.7 | BO 3.28. 3.29 | P4 due P5 out |
19 | Wed/Th | Nov 2/3 | Functions | BO 3.7 | BO 3.30 - 3.34 | |
20 | Mon/Tue | Nov 7/8 | Arrays | BO 3.8 | BO 3.35 - 3.37 | |
21 | Wed/Th | Nov 9/10 | Structs and Unions | BO 3.9, 3.10 | BO 3.39 - 3.42 | |
22 | Mon/Tue | Nov 14/15 | Buffer Overflow | BO 3.12 | BO 3.43 | |
23 | Wed/Th | Nov 16/17 | Exam 2 | Exam 2 Study Guide | ||
24 | Mon/Tue | Nov 21/22 | Memory Hierarchy | BO 6.1 - 6.3 | BO 6.1 - 6.4 | |
Wed/Th | Nov 23/24 | Thanksgiving | ||||
25 | Mon/Tue | Nov 28/29 | Intro to VM | BO 9.1 - 9.5 | BO 9.1, 9.2 | P5 due P6 out |
26 | Wed/Th | Nov 30 / Dec 1 | Dynamic Memory 1 | BO 9.9 | BO 9.6, 9.7 | |
27 | Mon/Tue | Dec 5/6 | Dynamic Memory 1 | BO 9.9 | BO 9.6, 9.7 | |
28 | Wed/Th | Dec 7/8 | Dynamic Memory 2 | BO 9.9 | BO 9.6, 9.7 | |
29 | Mon/Tue | Dec 12/13 | Exam Review? | |||
Wed | Dec 14 | P6 Due | ||||
Section 01 | Tuesday | Dec 20 1:00pm | Final Exam | |||
Section 02 | Monday | Dec 19 3:30pm | Final Exam |