Schedule / Notes

*** Schedule subject to changes announced in class. ***

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.
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

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. Here again
KR means The C Programming Language by Kernighan and Ritche
BO means Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron

In the BO text, "Homework Problems" are rated by difficulty.
= quick problem to try out an idea
= 5 - 15 minutes to complete and may involve writing/running a program
= substantial problems that may require hours to complete
= lab assignment that may take 1-2 weeks to complete

CMSC 313 Schedule of Classes Revised Oct 23, 2010
Class # Date Title Reading Problems Assign
1 W 9/1 Overview      
2 M 9/6 NO CLASS - Labor Day      
3 W 9/8 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  
4 M 9/13 Input/Output KR 7.1 - 7.7, App B1 KR 7-1, 7-6,  
5 W 9/15 Chars and Strings KR 1.5, B2, B3
EC 3
KR 1-8, 1-9, 1-10 P1 out
6 M 9/20 Functions
Program Organization
KR 4
EC 7
4-1, 4-12  
7 W 9/22 Structs / Unions KR 6.1 - 6.3
6.7 - 6.9
   
8 M 9/27 Pointer Basics KR 5.1, 5.2
or EC 3
KR 5-3, 5-4  
9 W 9/29 Pointers and Arrays KR 5.3 - 5.4
or EC 6
KR 5-9 P1 Due
P2 out
10 M 10/4 Advanced Pointers KR 5.6, 5.10    
11 W 10/6 Exam Review    


12 M 10/11 MIDTERM 1      
13 W 10/13 Bits and Bytes BO 2.1 BO 2.45, 2.46  
14 M 10/18 Integers BO 2.2 - 2.3 BO 2.51, 2,54 P2 Due
P3 out
15 W 10/20 Catch-up      
16 M 10/25 Registers and Memory BO 3.1 - 3.5 BO 3.1 - 3.6  
17 W 10/27 Conditions and Loops BO 3.6 BO 3.32  
18 M 11/1 Switches BO 3.6 BO 3.33, 3.34 P3 due
P4 out
19 W 11/3 Functions BO 3.7 BO 3.31  
20 M 11/8 Arrays BO 3.8    
21 W 11/10 Structs and Unions BO 3.9, 3.10 BO 3.36  
22 M 11/17 Buffer Overflow BO 3.13   P5 out
23 W 11/17 Memory Hierarchy BO 6.1 - 6.3 BO 6.2 - 6.5 P4 Due
24 M 11/22 MIDTERM 2   Study Guide  
25 W 11/24 T H A N K S G I V I N G      
26 M 11/29 Dynamic Memory 1 BO 9.9 BO 9.6 - 9.7  
27 W 12/1 Dynamic Memory 2 BO 9.9 BO 9.6 - 9.7 P5 due
P6 out
28 M 12/6 Control Flow 1 BO 8.1 - 8.5 BO 8.1 - 8.3  
29 W 12/8 Control Flow 2 BO 8.1 - 8.5 BO 8.5 - 8.7  
30 M 12/13 Control Flow 3 BO 8.1 - 8.5    
  Tue 12/14       P6 Due
  Th 12/16
3:30pm LH 3
FINAL EXAM   Study Guide