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

Note: Project dates for Projects 3,4, and 5 have been changed.

Class # Date Title Reading Problems Assign
1 W 1/26 Overview      
2 M 1/31 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 W 2/2 Input / Output KR 7.1 - 7.7, App B1 KR 7-1, 7-6, P1 Out
4 M 2/7 Chars and Strings KR 1.5, B2, B3
EC 3
KR 1-8, 1-9, 1-10  
5 W 2/9 Functions KR 4
EC 7
4-1, 4-12  
6 M 2/14 Program Organization KR 4
EC 7
  P1 Due
P2 Out
7 W 2/16 Structs / Unions KR 6.1 - 6.3
6.7 - 6.9
   
8 M 2/21 Pointer Basics KR 5.1, 5.2
or EC 3
KR 5-3, 5-4  
9 W 2/23 Pointers and Arrays KR 5.3 - 5.4
or EC 6
KR 5-9  
10 M 2/28 Advanced Pointers KR 5.6, 5.10   P2 Due
P3 Out
11 W 3/2 Exam Review      
12 M 3/7 Exam 1      
13 W 3/9 Bits and Bytes BO 2.1 BO 2.3, 2.4, 2.5
2.8, 2.10, 2.14, 2.16
 
14 M 3/14 Integers BO 2.2 - 2.3 BO 2.23, 2.26, 2.31
2.38, 2.40, 2.43, 2.44
 
15 W 3/16 Introduction to Assembly      
  M 3/21 SPRING BREAK     P3 Due
  W 3/23 SPRING BREAK      
16 M 3/28 Registers and Memory BO 3.1 - 3.5 BO 3.1 - 3.12 P4 Out
17 W 3/30 Conditions and Loops BO 3.6.1 - 3.6.5 BO 3.13, 3.14, 3.16 - 3.18, 3.20 - 3.23  
18 M 4/4 Switches BO 3.6.7 BO 3.28. 3.29  
19 W 4/6 Functions BO 3.7 BO 3.30 - 3.34 P4 due
P5 out
20 M 4/11 Arrays BO 3.8 BO 3.35 - 3.37  
21 W 4/13 Structs and Unions BO 3.9, 3.10 BO 3.39 - 3.42  
22 M 4/18 Buffer Overflow BO 3.12 BO 3.43  
23 W 4/20 Exam 2 Review   Exam 2 Study Guide  
24 M 4/25 Exam 2     P5 Due
25 W 4/27 Processor Architecture 1 BO 4.1 BO 4.1 - 4.7 P6 Out
26 M 5/2 Processor Architecture 2 BO parts of 4.2, 4.3.1 - 4.3.2 BO 4.11, 4.12 - 4.16  
27 W 5/4 Memory Hierarchy BO 6.1 - 6.3 BO 6.1 - 6.4  
28 M 5/9 Intro to VM BO 9.1 - 9.5 BO 9.1. 9.2  
29 W 5/11 TBD     P6 Due
  W 5/18 1:00pm Section 1 (MW 1:00pm)  FINAl EXAM      
  M 5/16 3:30pm Section 2 (MW 4:00pm)  FINAl EXAM