Princeton University |
Computer Science 217 |
|
| Week 1 | Thr Sep 14 |
Introduction and precept structure Interfaces and Implementations (PS, PDF) Example coding style document from Scout OS (PS, PDF) |
| Tue Sep 19 |
The C Programming Language: Basics, Scope
(PS,
PDF) Assignment 1 available. Due Mon Sep 25. |
|
| Readings |
Hanson Chs 1-3 and 5.0-5.1 Maguire Intro and Chs 1-2; H&S 1, 2.7, 4 |
|
| Week 2 | Thr Sep 21 |
Types, including arrays, strings and enums
(PS,
PDF) The C Pre-processor and Basic I/O (PS, PDF) |
| Tue Sep 26 |
Makefiles and Version Control
(PS,
PDF) Assignment 2 available. Due Monday Oct 2. |
|
| Readings |
H&S Chs 3 and 5 Hanson Ch 4 Maguire Ch 5 Man pages for make and rcs |
|
| Week 3 | Thr Sep 28 |
Operators and Expressions
(PS,
PDF) QUIZ 1: Covers up to version control. |
| Tue Oct 3 |
Program design methodology
(PS,
PDF) Assignment 3 available. Due Thursday Oct 12. |
|
| Readings |
H&S Chs 6 and 7 Hanson Chs 7-9 Maguire Ch 6 (and Ch 5 again) |
|
| Week 4 | Thr Oct 5 | Pointers, arrays and pointers, pointers to functions (PS, PDF) |
| Tue Oct 10 |
Structures, Unions and Typedef
(PS,
PDF) Self-referential and Dynamic Data Structures (PS, PDF) Variable-length argument lists (PS, PDF) |
|
| Readings | H&S Ch 14 | |
| Week 5 | Thr Oct 12 |
Programming style
(PS,
PDF) Assignment 4 available. Due Monday Oct 23. |
| Tue Oct 17 |
Number systems: Two's complement, floating point.
(PS,
PDF) QUIZ 2: Covers all material since Quiz 1. |
|
| Readings |
Paul 3.1-3, 4.1-5, 4.10, 11.1-4, 11.7-8 Maguire Chs. 7 & 8 Pike: Notes on Programming in C |
|
| Week 6 | Thr Oct 19 |
Machine architecture, generic instruction formats
(PS,
PDF) Sparc register architecture, memory instruction and addressing modes (PS, PDF) |
| Tue Oct 24 | Other sparc instructions, including floating point (PS, PDF) | |
| Readings | Paul Ch. 1, 2.1-4, 4.6-4.12, 8, 9 | |
| Week 7 | Thr Oct 26 |
MIDTERM: in class, open book/notes. Covers everything upto and including number systems. Sample Exams: Spr99, Fall98.PS, Fall98.PDF Fall99.PS, Fall99.PDF Assignment 5 available. Due Thursday, Nov. 16. |
Tue Nov 7 |
Condition codes, carry and overflow, branches
(PS,
PDF) Pipelining and branch delays (PS, PDF) |
| Readings | Paul Ch. 1, 2.1-4, 4.6-4.12, 8, 9 | |
| Week 8 | Thr Nov 9 |
Procedure call and return, stack, register windows
(PS,
PDF) Assignment 6 handed out. Due Thursday Nov 30. |
| Tue Nov 14 |
Exception handling
(PS,
PDF) QUIZ 3: Sparc Architecture, procedure call/return, register windows. |
|
| Readings |
Paul Chs 5, 7, 12, Sec 10.9 H&S Ch 15 Hanson 2.4, 4 |
|
| Week 9 | Thr Nov 16 | Operating systems, system calls and traps, I/O (PS, PDF) |
| Tue Nov 21 | Processes, IPC, signals (PS, PDF) | |
| Readings |
Kernighan and Pike, Sec 7.4 and 7.5 Paul Sec 9.1-9.7 |
|
| Week 10 | Tue Nov 28 |
Compilers and How Assemblers Work
(PS,
PDF) Linking and Loading (PS, PDF) |
| Thr Nov 30 |
Dynamic Memory Allocation: Implementing Malloc and Free
(PS,
PDF) Final Assignment available. Part 1 Due Friday December 15th. |
|
| Readings |
Paul 1.9, 9.8 H&S Ch 16 |
|
| Week 11 | Tue Dec 5 | Tuning for Performance (PS, PDF) |
| Thr Dec 7 | Object-oriented programming, inheritance, dynamic binding (HTML, PS, PDF) | |
| Readings | Maguire Ch 3 | |
| Week 12 | ||
| Tue Dec 12 |
Networking QUIZ 4: Covers all material since Quiz 3. |
|
| Thr Dec 14 | Networking (cont) |