|CSE Home||About Us||Search||Contact Info|
Meetings: MWF 2:30-3:20, JHN 175
Class email list archives
Dropbox for assignment submission
Homework 0 "due" Friday,
Sept. 26, worth 1 point, but important(!)
Homework 1a, due Monday, Sept. 29 at 11 pm
Homework 1b, due Monday, Oct. 6 at 11 pm
Homework 2, due Tuesday, Oct. 14 at 11 pm
Homework 3, due Thursday, Oct. 23 at 11 pm
Homework 4, due Sunday, Nov. 9 at 11 pm
Homework 5: pick partners by Wednesday, Nov. 12, 2 pm; part A (skeleton code) due Tuesday, Nov. 18 at 11 pm; part B (everything) due Tuesday, Nov. 25 at 11 pm.
Homework 6: due Wed., Dec. 3 at 11 pm.
Societal-impact paper, due Friday, Dec. 5 at 2 pm. No late assignments will be accepted. example paper
A selection of old exams for review. Topics covered in previous quarters may not be exactly the same because of differences in orders of topics or timing of the exam.
Old midterm exams: sp05 (solution); wi06 (solution); sp06 (solution); wi07
solution; sp07 (solution) au07 (solution) sp08 (solution)
This quarter's midterm: exam sample solution
Old final exams: sp05 (solution); wi06 (solution); sp06 (solution); wi07 (solution); sp07 (solution) au07 (solution) sp08 (solution)
This quarter's final: exam sample solution
Tentative schedule to be updated as the quarter progresses. Slides will be posted no later than the middle of the day before class. Links to sample code and other files won't work until the associated files are posted shortly after the corresponding lecture.
1. Sept. 24: Course Introduction, Shell Basics slides shell
2. Sept. 26: Processes, Users, Shell Special Characters, Emacs slides shell history
3. Sept. 29: : I/O Redirection, Shell Scripts slides scripts big jpg file shell history
Hint for accessing the scripts: tar -xf lec3scripts.tar (see man tar)
4. Oct. 1: Shell Variables, More Shell Scripts slides scripts shell history
5. Oct. 3: Regular Expressions (and more), grep, Other Utilities slides shell history
6. Oct. 6: sed, command-line-tools wrap-up slides shell history
7. Oct. 8: sed wrapup; Introduction to C slides shell history
8. Oct. 10: C: locals, left vs. right expressions slides some sample code
9. Oct. 13: C: structs, pointers, heap memory slides more sample code
10. Oct. 15: C: preprocessor basics, printf/scanf slides
11. Oct. 17: gdb slides gdb manual debugger demo from class original reverse.c final reverse.c
12. Oct. 20: C: casts, linked-lists, slides generic_swap.c list.c
13. Oct. 22: C: more about the preprocessor slides
14. Oct. 24: C: summary slides; next assignment.
15. Oct. 27: Societal issues: elections and electronic voting slides
X. Oct. 29: Midterm, in class
16. Oct. 31: Make slides makefile demo shell history
17. Nov. 3: Make (concl.); Testing slides
18. Nov. 5: Societal issues: Data ownership and privacy slides
19. Nov. 7: Testing (concl.); Version control slides Subversion book first shell history second user shell history
20. Nov. 10: Version control (cont.); Memory management and hw5
21. Nov. 12: Specification slides
22. Nov. 14: Specification, invariants, pre- and post-conditions (no slides)
23. Nov 17: Shared-memory concurrency slides
24. Nov. 19: Concurrency (cont.) slides
25. Nov. 21: Societal issues: diversity slides
26. Nov. 24: C++ slides bankaccount code cplusplus.com tutorial
27. Nov. 26: C++ slides string class code properties code (inheritance)
X. Nov. 28: No class, Thanksgiving break
28. Dec. 1: Societal issues: Software quality and liability slides
29. Dec. 3: Code-Pointers and Objects; slides files
30. Dec. 5: Linking and libraries slides; Course wrapup
X. Dec. 8: Review, 4:30-6pm, CSE 403.
X. Dec. 9: Final exam, 2:30-4:30 pm, regular classroom.
Instructor: Hal Perkins; perkins(at)cs; CSE 548, office hours Mon. ~4:45-5:30,
TA: Daniel Jones; dcjones(at)cs; CSE006 lab Thur. 2-3 pm
TA: Masaharu Kobashi (Masa); mkbsh(at)cs; CSE 006 lab, Wed. 3:30-4:30.
Office hours tba
A Quick-And-Dirty Getting-Started Guide
Your ACM Chapter's tutorials
The CSE department's Computing Resources for Undergrads
The Bash Manual
Stanford CS library: Essential C, Unix Programming Tools
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.
And for an alternative opinion, The Unix-Haters Handbook by Garfinkle, Weise & Strassmann, IDG, 1994 (i.e., in pre-Linux times).
Computer Science & Engineering|
University of Washington
Seattle, WA 98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to Hal Perkins]