Warning: this page is for archival purposes only and is not kept updated.

CS 203, Fall 2010



Syllabus: Fall 2010

A quick C tutorial

A quick introduction to gdb

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/30, class Chapter 1 -- Introduction to class (no labs the first week)    
9/1, class Syllabus, Begin Chapter 2    
9/3, class Algebras, Bytes, and C pointers pages 33-46  
9/6, lab Lab 0 (Due 6am 9/13)    
9/6, class Signed & Unsigned #s    
9/8, lab Lab 0 -- Update    
9/8, class Addition and Multiplication    
9/10, class Floating Point    
9/13, lab Lab 1 (Due 6am 9/20)
Update: You may work together, but must hand in your own version of the source code and your own lab report.
Please note the names of your collaborators on both.
   
9/13, class Rounding   2.67, 2.83, 2.84, 2.88 (Due 6am 9/20)
Solutions
9/15, lab      
9/15, class Multiplication and Addition    
9/17, class Intro to Assembly
additionTest.c
intTest.c
60-64,79-90, 103-115  
9/20, lab Lab 2 (Due 6am 9/27)
NOTE: If you choose to work with someone else,
they cannot be someone you have previously worked withon a Lab in 203.
   
9/20, class Memory Addressing    
9/22, class lea: Your New Friend    
9/24, class Conditions and Jumping    
9/27, lab Lab 3 (Due next Monday by 6am)    
9/27, class The Ups and Downs of Stacks Skim 154-166, read 167-206
Response due 9/27, 6am
 
9/29, class Jump into the Case statement    
10/1, class Recursion: Like Recursion, only simpler    
10/4, lab Lab 4 (Due 10/13, 6am)    
10/4, class An array of ideas Read 206-231. Response due by 6am.  
10/6, class Structures    
10/8, class Unions and Alignment   Homework 1: 3.56, 3.58, 3.59, and 3.62.
Due by 11:59pm on 10/8/10.
You may not collaborate with others.
Solutions
10/11
No class -- Fall Break
   
10/13, lab Review of homework problems    
10/13, class End of chapter 3
Example Code shown in class
   
10/15, class Review    
10/18
Midterm
   
10/20, lab Bomb!    
10/20, class Chalk and Talk: Boolean Algebra review    
10/22, class Chalk and Talk: Diagrams and Karnaugh maps Read 11.1 - 11.3 on Moodle. Instead of normal response, answer the following:
How would you explain what the sum-of-products expansion (or disjunctive normal form) means to a freshman computer science major?
Problem 6 on page 766 (parts a, b, c, and d)
Due 1:10pm, Monday, 10/25
 
10/25, class Chalk and Talk    
10/29, class Chapter 4: Y86 Read 11.4 on Moodle (no response required). Do exercises in 11.4: 6, 7, 14, and 15. (Due Wednesday, 11/3, by 6am).
11/1, lab Link: Instructions in lab. Due Monday, 11/8, 6am.    
11/1, class Y86 and CISC vs. RISC    
11/3, class MUX and ALU    
11/5, class Simple Memory    
11/8, lab Lab 7    
11/8, class Tracing Instructions through Stages    
11/10, class SEQ Hardware Reading for Friday (response or pratice problem due 6am): Section 4.3.1 (pp. 364--375)  
11/12, lab Lab 8, part A due Monday, 11/29, 6am
part B due Wednesday, 12/1
part C due Monday, 6am, 12/6
   
11/12, class SEQ and Pipelining    
11/15, class Handling Hazards in Pipelining    
11/17, class How to Heroically Handle Hazards Reading for Monday (response due by 6am): Into the Wild...  
11/19, class Guest Lecture: Intro to Optimization    
11/22, class Class discussion Jack-London-themed paper    
11/24
No class -- Thanksgiving Break
   
11/26
No class -- Thanksgiving Break
   
11/29 Loop unrolling and measuring speedups    
12/1 No class -- Matt was sick    
12/3 Memory Hierarchy, part 1    
12/6, lab Lab 9    
12/6 Memory Hierarchy: Show me the Cache    
12/8 Memory Hierarchy: Set Associative Cache    
12/10 Final Class: Problem Review Reading Response due on SHARK  
12/14
Final Exam