CS 203, Fall 2011



Syllabus: Fall 2011

A quick C tutorial

A quick introduction to gdb

Reading Responses are due by 6am the day they are listed.
Labs are due by 10am, the day they are listed.

Note: Many of the slides used in class lecture are based on Bryant and O'Hallaron's class at CMU.

Schedule
Date
Topic
Reading
Assignment
8/31 Chapter 1 -- Introduction to class xix-xxv (skim), 2-10 (read), 11-26 (skim)  
9/2 Begin Chapter 2 pp. 30-47  
9/5 Algebras, Bytes, and C pointers pp. 48-79 Lab 0: Intro to command line and C
9/7 (Un)Signed Numbers and Casting N/A  
9/9 Addition and Multiplication pp. 79-98  
9/12 Intro to Floating Point pp. 99-112  
9/14 More Floating Point Explinations N/A Lab 1: Manipulating Bits
9/16 Floating Point Pratice pp. 113-118. As part of your response, include a solution to
at least one of the problems at the end of the chapter.
 
9/19 Guest Lecture! pp. 154-176  
9/21 Floating Point Operations and Puzzles N/A Lab 2: Timing
9/23 Assembly: your new favorite language N/A  
9/26 Memory Addressing and leal Please email answers to: 2.84(b), 2.88(a-e)  
9/28 Conditional Codes pp. 177-182, 185-219 Lab 3: Conditionals and Loops
9/30 Case Statements and Stack Management N/A  
10/3 Frames and Stack Management pp. 219-232  
10/5 Stack Management N/A Lab 4: Exploring Executable Code
10/7 16 pp. 232-248  
10/12 17 None (Suggested: Look over problems 2.67, 2.83, 2.84, 2.88)  
10/14 18 pp. 248-261 (pp. 261-266 is optional, but fun)  
10/17 19 None (Suggested: Look over problems 3.56, 3.58, 3.59, 3.62) Lab 5: Function Calls and the Stack
10/19 MIDTERM (during lab)    
10/21 Review Midterm (during lab), Quick logic review    
10/24 Logic Gates!    
10/26 Logical Simplifications    
10/28 Pratice with logic (we'll cover some problems from the reading), 21 Logic reading on Moodle ("Boolean Algebra")  
10/31 Intro to Y86    
11/2 23    
11/4 Data path pp. 334-364  
11/7 25 pp 365-379  
11/9 26 pp 379-391 Lab 6: injecting assembly. (4.6, 4,7: Instructions in lab.) Reading Link
This may also be helpful.
11/11 27    
11/14 28 pp. 391-412 Project 1 Due Monday, 11:59pm
11/16 29 Read pp. 412-423. Skim pp. 423-444.  
11/18 30 pp. 560-586 is optional, but interesting. Read 586-596.  
11/21 31   Lab 7 due (Project 2 Files)
11/28 32    
11/30 33 Read and respond to SHARK: Architectural Support
for Autonomic Protection Against Stealth
by Rootkit Exploits
(will also discuss in class)
Lab 8 due (Project 2)
12/2 Pratice Cache Problems pp. 596-615. Review 615-629.  
12/5 34    
12/7 35    
12/9 36   Project 2 due by 11:59pm
12/16
Final
(4-7pm)
Optional papers: 1 2