|CSE Home||About Us||Search||Contact Info|
Meetings: MWF 10:30-11:20, JHN 175
Class email list archives
All office hours are in the CSE 006 lab.
Instructor: Hal Perkins; perkins(at)cs; CSE 548, Mon. & Tue.
TA: Xia Cam; mcam at cs, Wed. 2-3:30
TA: Joseph Chen; lidor7 at cs, Mon. 11:30-12:20, Thur. 11-12.
TA: Deepak Vijaywargi; deepakv at cs, Tue 11-12, Fri 12-1.
Dropbox for assignment submission
Homework 0, "due" Wednesday, Jan.
7 at the beginning
class (on paper, not online).
Homework 1A, due Friday, Jan. 9 at 11 pm
Homework 1B, due Thursday, Jan. 15 at 11 pm
Homework 2, due Monday, Jan. 26 at 11 pm
Homework 3, due Wednesday, Feb. 4 at 11 pm
Homework 4, due Thursday
Homework 5: pick partners by Friday, Feb. 20, 2 pm; part A (skeleton code) due Wednesday, Feb. 25 at 11 pm; part B (everything) due Wednesday, March 4 at 11 pm.
Homework 6: due Wednesday, March 11 at 11 pm.
Societal-impact paper, due Friday, March 13 at 11 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.
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); au08 (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 morning before class. Sample code and other files will be posted shortly after the corresponding lecture. Until slides and lecture materials are posted, the links below will not work.
1. Jan. 5: Course Introduction, Shell Basics slides shell
2. Jan. 7: Processes, Users, Shell Special Characters, Emacs slides shell history
3. Jan. 9: 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. Jan. 12: Shell Variables, More Shell Scripts slides scripts shell history
5. Jan. 14: Regular Expressions (and more), grep, Other Utilities slides shell history
6. Jan. 16: sed, command-line-tools wrap-up slides shell history
X. Jan. 19: No class; MLK birthday.
7. Jan. 21: Introduction to C slides
8. Jan. 23: C: locals, left vs. right expressions slides some sample code shell history hello.c that prints arguments
9. Jan. 26: C: structs, pointers, heap memory slides more sample code
10. Jan. 28: C: preprocessor basics, printf/scanf slides
11. Jan. 30: gdb slides gdb manual buggy reverse.c gdb session transcript
12. Feb. 2: gdb (concl); C: structs, casts slides generic_swap.c list.c
13. Feb. 4: C: Linked lists, More about the preprocessor slides
14. Feb. 6: next assignment; make intro slides makefile demo
15. Feb. 9: Make basics; C: summary slides
X. Feb. 11: Midterm, in class
16. Feb. 13: Make (concl.); Testing slides
X. Feb. 16: No class; Presidents' day
17. Feb. 18: Testing: slides; Memory management and hw5;
18. Feb. 20: HW5; Version control (intro) slides Subversion book
19. Feb. 23: Version control demo first shell history second user shell history; Specification slides
20. Feb. 25: Societal issues: data ownership & privacy slides
21. Feb. 27: Linking and libraries slides
22. Mar. 2: C++ slides bankaccount code cplusplus.com tutorial
23. Mar. 4: C++ slides string class code properties code (inheritance)
24. Mar. 6: Societal issues: Diversity slides
25. Mar. 9: Societal issues: Software quality and liability slides
26. Mar. 11: Shared-memory concurrency slides
27. Mar. 13: Concurrency (cont.) slides; course wrapup
X. Mar. 15: Review, afternoon
X. Mar. 16: Final exam, 8:30-10:20 am, regular classroom.
A Quick-And-Dirty Getting-Started Guide
Your ACM Chapter's tutorials (updated 1/9/08)
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]