Princeton University
Computer Science Dept.

Computer Science 217
Intro to Programming Systems

Schedule

Fall 2000


Directory
General Information | Schedule and Readings | Assignments | What's New?

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)