Syllabus
Academic-Integrity Policy
Extra-Credit Policy
Anonymous Feedback
Meetings: MWF 12:30-1:20, MGH 231
Our midterm:
without solutions
with solutions
Our final:
without solutions
with solutions
Sample midterm:
without solutions
with solutions
Sample final:
without solutions
with solutions
Instructor: Dan Grossman, ,
Allen Center
Room 556
(careful: the userid equal to the instructor's last
name belongs to a different person)
TA: Benjamin Ylvisaker ben8@cs.washington.edu
TA: Robert Spies wilford@cs.washington.edu
Office hours:
Grossman: Tuesdays 2-3, Fridays 1:30-2:30, and by appointment
Ylvisaker: Mondays 3:30-4:30, and by appointment
Spies: Thursdays 12:30-1:30, and by appointment in CSE 002
Homework 1, due Monday January 16, 9:00AM
Homework 2, due Friday January 27, 9:00AM
example output
mycat2buggy
(example input mailed to you directly and via a web link)
Homework 3, due Friday February 3, 9:00AM
points.c
wordfind.c
Homework 4, due Monday Feburary 13, 9:00AM
hw4.tar
Homework 5, due Wednesday February 22, 9:00AM
5A
5B
5C
(do the one your groupmates are not doing)
Homework 6, due Wednesday March 1, 9:00AM
Homework 7, due Friday March 10, 9:00AM
takeoutTester skeleton
example output
Short Paper, due
Friday March 10, 9:00AM description example
X. Jan 2: Holiday
1. Jan 4: Course Introduction, Shell Basics slides shell history
2. Jan 6: Processes, Users, Shell Special Characters, Emacs slides shell history
3. Jan 9: I/O Redirection, Shell Scripts
slides shell history scripts
Hint for accessing the scripts: tar -xf lec3scripts.tar
(see man tar)
4. Jan 11: Shell Variables, More Shell Scripts
slides shell history scripts
5. Jan 13: Regular Expressions (and more), grep, Other Utilities
slides shell history
X. Jan 16: Holiday
6. Jan 18: sed, command-line-tools wrap-up
slides sed programs
7. Jan 20: Introduction to C slides
8. Jan 23: C: locals, left vs. right expressions, dangling pointers
slides
sums.c
pointers.c
9. Jan 25: C: structs, the heap and manual memory-management
slides
structs.c
10. Jan 27: Societal implications: Responsibility for web data
links slides
11. Jan 30: C: casts, linked lists
slides code
12. Feb 1: The C Pre-Processor; printf and scanf slides examples
13. Feb 3: C: Function-Pointers; Post-Overview
slides code
14. Feb 6: Societal Implications: Software Quality,
Licensing, Patents, ...
slides
X. Feb 8: Midterm
15. Feb 10: Debuggers, e.g., gdb
slides
code
gdb
manual
16. Feb 13: Profilers, e.g., gprof
slides
code
gprof manual
17. Feb 15: Testing, stubs, specification
slides
code
18. Feb 17: Build scripting, make
slides
X. Feb 20: Holiday
19. Feb 22: Version control, cvs
slides
shell history
more info
20. Feb 24: Societal implications: Future/purpose of computer
science (education)
slides
links
21. Feb 27: Linkers, Libraries, Archives
slides
22. March 1: Linking wrapup; Threads, concurrency
slides
23. March 3: Security, defensive programming
slides
security_eg.c
security_eg.sh
24. March 6: Societal implications: Voting
links slides
25. March 8: Memory-management idioms
slides
26. March 10: Wrap-up, taste of C++
slides
C++ code
Are the texts required?
Linux Pocket Guide by Daniel J. Barrett, O'Reilly, 2004.
C: A Reference Manual (5th Edition) by Samuel P. Harbison, Guy
L. Steele. Prentice Hall, 2002.