Princeton University |
Computer Science 217 |
|
Week 1 | Mon Feb 3 | L1: Introduction
Slides |
Tues Feb 4 | P1: The Program Preparation Process
Handouts Readings: Loukides 4; String Functions Assignment Statement |
|
Wed Feb 5 | L2: Modules
Slides |
|
Thurs Feb 6 | P2: Emacs; Gdb; Advanced C Programming: Const Declarations
Handouts Readings: Loukides 3,6 |
|
Sun Feb 9 | String Functions Assignment Due | |
Week 2 | Mon Feb 10 | L3: Abstract Data Types
Slides |
Tues Feb 11 | P3: Advanced C Programming: Void Pointers and Generic ADTs
Handouts Readings: King 15,19 |
|
Wed Feb 12 | L4: Programming Style
Slides |
|
Thurs Feb 13 | P4: Hash Tables; Advanced C Programming: Declarations and Definitions
Handouts Readings: King 10,18; Symbol Table Assignment Statement |
|
Week 3 | Mon Feb 17 | L5: Cancelled due to snow |
Tues Feb 18 | P5: Advanced C Programming: Dynamic Memory Management
Handouts Readings: King 17.1-6 |
|
Wed Feb 19 | L6: Memory Allocation
Slides |
|
Thurs Feb 20 | P6: Advanced C Programming: Function Pointers and Generic ADTs
Handouts Readings: King 17.7 |
|
Sun Feb 23 | Symbol Table Assignment Due | |
Week 4 | Mon Feb 24 | L7: Robust Programming and Testing
Slides |
Tues Feb 25 | P7: Make; Gprof; Advanced C Programming: Abstract Objects
Handouts Readings: Loukides 7,9 |
|
Wed Feb 26 | L8: Digital Circuits
Slides |
|
Thurs Feb 27 | P8: Advanced C Programming: Unions and Enumerations; Circuit Simulator Assignment: Functionality
Handouts Readings: King 16.4-5; Circuit Simulator Assignment Statement |
|
Week 5 | Mon Mar 3 | L9: Sequential Circuits
Slides |
Tues Mar 4 | P9: Circuit Simulator Assignment: Design
Handouts | |
Wed Mar 5 | L10: Computer Architecture
Slides | |
Thurs Mar 6 | P10: Digital Circuit Examples
Handouts |
Sun Mar 9 | Circuit Simulator Assignment Due |
Week 6 | Mon Mar 10 | L11: SPARC Architecture
Slides |
Tues Mar 11 | P11: Assembly Language: Getting Started
Handouts Readings: Paul 2.1-4 |
|
Wed Mar 12 | L12: SPARC Instruction Set
Slides |
|
Thurs Mar 13 | P12: Pre-Exam Review
Handouts | |
Fri Mar 14 | Midterm Exam (2-4 PM in CS105.
Bring a one page cheat sheet.) Exams from Previous Semesters Histogram of scores |
|
Week 7 | Mon Mar 24 | L13: Branching Instructions
Slides |
Tues Mar 25 | P13: Assembly Language Fundamentals
Handouts Readings: Paul 3,4,9; UNIX Commands in Assembly Language Assignment Statement |
|
Wed Mar 26 | L14: Pipelining
Slides |
|
Thurs Mar 27 | P14: Assembly Language Branching; Gdb for Assembly Language
Handouts Readings: Paul 2.5-13 |
|
Week 8 | Mon Mar 31 | L15: Procedure Calls
Slides |
Tues Apr 1 | P15: Assembly Language Stack and Subroutines
Handouts Readings: Paul 5,7 |
|
Wed Apr 2 | L16: Arithmetic Instructions
Slides |
|
Thurs Apr 3 | P16: Assembly Language Leaf Subroutines, Optimization
Handouts |
|
Sun Apr 6 | UNIX Commands in Assembly Language Assignment Due | |
Week 9 | Mon Apr 7 | L17: Assembers
Slides |
Tues Apr 8 | P17: Assembler Assignment: Overview
Handouts Readings: Assembler Assignment Statement |
|
Wed Apr 9 | L18: Linkers
Slides |
|
Thurs Apr 10 | P18: Assembler Assignment: Pass 1
Handouts |
|
Week 10 | Mon Apr 14 | L18: Fun Slides |
Tues Apr 15 | P19: Assembler Assignment: Pass 2
Handouts Readings: Paul 8, King 20 |
|
Wed Apr 16 | L20: Operating Systems
Slides |
|
Thurs Apr 17 | P20: Assembler Assignment: Relocation
Handouts |
|
Sun Apr 20 | Assembler Assignment Due | |
Week 11 | Mon Apr 21 | L21: Processes
Slides |
Tues Apr 22 | P21: UNIX and Bash
Handouts Readings: Loukides 2 |
|
Wed Apr 23 | L22: Virtual Memory
Slides |
|
Thurs Apr 24 | P22: Shell Assignment: Overview
Handouts Readings: Shell Assignment Statement |
|
Week 12 | Mon Apr 28 | L23: Communication
Slides |
Tues Apr 29 | P23: Shell Assignment: Processes
Handouts Readings: Kernighan (UNIX Programming Environment) 7 |
|
Wed Apr 30 | L24: Summary
Slides |
|
Thurs May 1 | P24: Shell Assignment: Inter-Process Communication
Handouts |
|
Sun May 11 | Shell Assignment Due | |
Mon May 19 | Final Exam (7:30 PM in Friend Center 006) Exam Preparation Sheet Exams from Previous Semesters Histogram of scores |