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 | Th | Jan 26 | Overview | |||
2 | Mon/Tue | Jan 30/31 | / Overview / 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 | P0 Out |
3 | Wed/Th | Feb 1/2 | Input / Output | KR 7.1 - 7.7, App B1 | KR 7-1, 7-6, | 4 | Mon/Tue | Feb 6/7 | Chars and Strings | KR 1.5, B2, B3 EC 3 |
KR 1-8, 1-9, 1-10 | P1 Out | 5 | Wed/Th | Feb 8/9 | Chars and Strings | KR 1.5, B2, B3 EC 3 |
KR 1-8, 1-9, 1-10 |
6 | Mon/Tue | Feb 13/14 | Structs / Unions | KR 6.1 - 6.3 6.7 - 6.9 |
P1 Due | |
7 | Wed/Th | Feb 15/16 | Functions | KR 4 EC 7 |
KR 4-1, 4-12 | P2 Out |
8 | Mon/Tue | Feb 20/21 | Separate Compilation | KR 4 EC 7 |
KR 4-1, 4-12 | |
9 | Wed/Th | Feb 22/23 | Program Debugging | |||
10 | Mon/Tue | Feb 27/28 | Pointer Basics | KR 5.1, 5.2 or EC 3 |
KR 5-3, 5-4 | P2 Due P3 Out |
11 | Wed/Th | Feb 29/Mar 1 | Pointers and Arrays | KR 5.3 - 5.4 or EC 6 |
KR 5-9 | |
12 | Mon/Tue | Mar 5/6 | Advanced Pointers | KR 5.6, 5.10 | ||
13 | Wed/Th | Mar 7/8 | Advanced Pointers | KR 5.6, 5.10 | ||
14 | Mon/Tue | Mar 12/13 | Pointer Case Study / Exam Review | P3 Due P4 Out |
||
15 | Wed/Th | Mar 14/15 | Exam 1 | Exam 1 Study Guide | ||
Mon/Tue | Mar 19/20 | SPRING BREAK | ||||
Wed/Th | Mar 21/22 | SPRING BREAK | ||||
16 | Mon/Tue | Mar 26/27 | Bits and Bytes | BO 2.1 | BO 2.3, 2.4, 2.5 2.8, 2.10, 2.14, 2.16 |
|
17 | Wed/Thurs | Mar 28/29 | Bits and Bytes | BO 2.1 | BO 2.3, 2.4, 2.5 2.8, 2.10, 2.14, 2.16 |
|
18 | Mon/Tues | April 2/3 | Integers | BO 2.2 - 2.3 | BO 2.23, 2.26, 2.31 2.38, 2.40, 2.43, 2.44 |
|
19 | Wed/Th | Apr 4/5 | Registers and Memory | BO 3.1 - 3.5 | BO 3.1 - 3.12 | P4 Due P5 Out |
20 | Mon/Tues | Apr 9/10 | Registers and Memory | BO 3.1 - 3.5 | BO 3.1 - 3.12 | |
21 | Wed/Th | Apr 11/12 | Conditions and Loops | BO 3.6.1 - 3.6.5 | BO 3.13, 3.14, 3.16 - 3.18, 3.20 - 3.23 | |
22 | Mon/Tues | Apr 16/17 | Switches | BO 3.6.7 | BO 3.28. 3.29 | |
23 | Wed/Th | Apr 18/19 | Functions | BO 3.7 | BO 3.30 - 3.34 | |
24 | Mon/Tue | Apr 23/24 | Functions | BO 3.7 | BO 3.30 - 3.34 | P5 Due P6 Out |
25 | Wed/Tu | Apr 25/26 | Arrays | BO 3.8 | BO 3.35 - 3.37 | |
26 | Mon/Tue | Apr 30/May 1 | Structs and Unions | BO 3.9, 3.10 | BO 3.39 - 3.42 | |
27 | Wed/Th | May 2/3 | Buffer Overflow | BO 3.12 | BO 3.43 | |
28 | Mon/Tu | May 7/8 | Memory Hierarchy | BO 6.1 - 6.3 | BO 6.1 - 6.4 | |
29 | Wed/Th | May 9/10 | Memory Hierarchy | BO 6.1 - 6.3 | BO 6.1 - 6.4 | |
Sun | May 13 | P6 Due | ||||
Mon | May 14 | Section 2 Final Exam (3:30pm) | ||||
Tues | May 15 | Section 1 Final Exam (1:00pm) |