Schedule / Notes

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

CMSC 313 Schedule of Classes *** Schedule subject to changes announced in class. ***
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