|
Computer Science 217
Introduction to Programming Systems
Thomas
Funkhouser
|
Spring 2002
|
Directory
General
Information | Schedule | Lectures | Precepts | Assignments | Policies
Lectures
Week 1 |
Mon Feb 4 |
Introduction
Topics: Overview of course, interfaces and
implementations
lectures: PS, PDF
Readings: Hansen 1, Harbison-Steele 1 |
Wed Feb 6 |
Modules
Topics: Modular programming, string manipulation
lectures: PS, PDF
Notes on pointers: PS, PDF
Examples: sort1.c sort2.csort3.cstringarray3.hstringarray3.cMakefile
Readings: Hansen 2; Harbison-Steele 13; Kernighan-Ritchie
5 |
|
|
|
Week 2 |
Mon Feb 11 |
Programming Style
Topics: Programming style, documentation, scope
lectures: PS, PDF
Examples: parseargs.cMakefile
Readings: Hansen 3, 4; Harbison-Steele 4;
Kernighan-Ritchie 4 |
Wed Feb 13 |
Memory Allocation
Topics: Process memory organization, heap, stack, data,
malloc/free
lectures: PS, PDF
Readings: Hansen 5 & 6; Harbison-Steele 16;
Kernighan-Ritchie 8.7 |
|
|
|
Week 3 |
Mon Feb 18 |
Abstract data types
Topics: Encapsulation, abstract data types, function
pointers
lectures: PS, PDF
Examples: sort4.c stringarray4.hstringarray4.cMakefile
Readings: Hansen 7, 8, 9 |
Wed Feb 20 |
Software Design
Topics: Decomposition into modules, dynamic array ADT,
real-time coding!
lectures: PS, PDF
Examples: echo1.c array1.carray1.hMakefile
Readings: Hansen 10, 11 |
|
|
|
Week 4 |
Mon Feb 25 |
Robust Programming
Topics: Error handling, C Preprocessor
lectures: PS, PDF
Readings: Hansen 12 |
Wed Feb 27 |
Testing
Topics: Testing, timing, profiling, instrumentation
lectures: PS, PDF
Readings: Hansen 13 |
|
|
|
Week 5 |
Mon Mar 4 |
Sparc architecture
Topics: Machine architecture, memory hierarchy, assembly
vs. machine language
lectures: PS, PDF
Readings: Paul 1, 2.1-2.8 |
Wed Mar 6 |
Sparc instruction set
Topics: Instruction set design, Synthetic instructions
lectures: PS, PDF
Readings: Paul 6, 8 |
Fri Mar 8 |
First midterm exam (2PM, CS105)
Topics: everything up to and
including 2/27/02
Materials: you can bring a one page
cheat sheet with writing on both sides
Sample exams: Last year (PS, PDF),
two years ago (PS, PDF) |
|
|
|
Week 6 |
Mon Mar 11 |
Arithmetic instructions
Topics: Number systems, 1's complement, 2's complement,
floating point
lectures: PS, PDF
Readings: Harbison-Steele 7; Paul 3, 4 |
Wed Mar 13 |
Branching instructions
Topics: Conditions lectures/codes, branch instructions,
control transfer
lectures: PS, PDF
Readings: Harbison-Steele 8; Paul 2.9-2.12 |
|
|
Week 7 |
Mon Mar 25 |
Pipelining
Topics: Pipelining, delay slots, optimization, annul bit
lectures: PS, PDF
Readings: Paul 2.5 |
Wed Mar 27 |
Procedure call instructions
Topics: Procedure linkage, register windows, stack
manipulation
lectures: PS, PDF
Readings: Harbison-Steele 9; Paul 5, 7 |
|
|
|
Week 8 |
Mon Apr 1 |
Assembler Directives
Topics: directives, memory allocation and initialization,
data structures
lectures: PS, PDF
Readings: Paul 9 |
Wed Apr 3 |
Assembler
Topics: two-pass assembling, symbol table, object file
format
lectures: PS, PDF
Readings: |
|
|
|
Week 9 |
Mon Apr 8 |
Linker
Topics: linking, relocation, resolution
lectures: PS, PDF
Readings: |
Wed Apr 10 |
Operating systems
Topics: virtual machines, protection, system calls
lectures: PS, PDF
Readings: Paul 12 |
|
|
|
Week 10 |
Mon Apr 15 |
Processes
Topics: scheduling, fork, exec, wait
lectures: PS, PDF
Readings: man pages for fork,
exec, wait |
Wed Apr 17 |
Inter-Process Communication
Topics: pipes, messaging, sockets
lectures: PS, PDF
Readings: man pages for pipe,
dup, socket |
Fri Apr 19 |
Second midterm exam (2-4PM, CS105)
Topics: everything up to and
including 4/17/02
Materials: you can bring a one page
cheat sheet with writing on both sides
Sample exams: Last year (PS, PDF),
two years ago (PS, PDF) |
|
|
|
Week 11 |
Mon Apr 22 |
Memory Management
Topics: virtual memory, segmentation, paging, working sets
lectures: PS, PDF
Readings: Paul 13 |
Wed Apr 24 |
Signals
Topics: signals, exceptions, alarms, timers
lectures: PS, PDF
Readings: Hanson 4, man pages for signal |
|
|
|
Week 12 |
Mon Apr 29 |
Graphics
Topics: overview of graphics, software systems in graphics
lectures: PS, PDF
Readings: None |
Wed May 1 |
Summary
Topics: review, what were the important lessons?
Readings: None |
|
|
|
|