Meetings: MWF 2:30-3:20, EE 037
Class discussion list
Class email list archives
Collection dropbox for homework assignments
Homework 0, due Wed. April 2, at the beginning
of class (worth 1 point, but it's an important 1 point!)
Homework 1A, due Monday, April 7 at 2 pm.
Homework 1B, due Friday, April 11 at 9 pm.
Homework 2, due Monday, April 21, at 9 pm. (Problem 1 added on Monday, April 14.)
Homework 3, due Tuesday, April 29, at 9 pm.
Homework 4, due Thursday, May 15, at 9 pm.
Homework 5, due in phases: 0 (partners) Mon. 5/19, 9 pm; 1 (skeleton code) Thur., 5/22, 9 pm; 2 (everything) Thur., 5/29, 9 pm.
Homework 6, due Wednesday, June 4, at 9 pm.
Societal-impact paper, due June 6 at 2 pm. No late assignments will be accepted. example paper
Some old final exams: au07 (solution)
wi07 (solution) sp06 (solution) wi06 (solution) sp05 (solution)
This quarter's final: exam (sample solution)
A selection of old midterms: au07 (solution)
wi07 (solution) sp07 (solution)
sp06 (solution) wi06 (solution) sp05 (solution)
This quarter's midterm: exam (sample solution)
Tentative schedule to be updated as the quarter progresses. Links to slides, sample code, and other files won't work until the associated files are posted shortly after the corresponding lecture.
1. March 31: Course Introduction, Shell Basics
2. Apr 2: Processes, Users, Shell Special Characters, Emacs slides shell history
3. Apr 4: I/O Redirection, Shell Scripts slides scripts shell history
Hint for accessing the scripts: tar -xf lec3scripts.tar (see man tar)
4. Apr 7: Shell Variables, More Shell Scripts slides scripts shell history
5. Apr 9: Regular Expressions (and more), grep, Other Utilities slides shell history
6. Apr 11: sed, command-line-tools wrap-up slides shell history
7. Apr 14: Introduction to C slides
8. Apr 16: C: locals, left vs. right expressions slides short programs from lecture more sample code
9. Apr 18: C: pointers, function calls slides short programs from lecture
10. Apr 21: C: pointers, casts, structs slides More examples: generic_swap.c list.c
11. Apr 23: C: Linked lists, program structure, catch up
12. Apr 25: No class - department event
13. Apr 28: C: preprocessor, scanf/printf slides; summary, function pointers slides
14. Apr 30: Tools: make slides makefile demo
15. May 2: Makefiles, next assignment, midterm topics (as time permits)
X. May 4, 3 pm: informal review Q&A, 5th floor breakout area
X. May 5: Midterm, in class
16. May 7: gdb slides gdb manual; Testing slides
17. May 9: Societal issues - data ownership and privacy slides
18. May 12: Version control slides subversion book; shell history 1 shell history 2
19. May 14: Testing slides; ; Memory management and hw5
20. May 16: Societal implications: diversity slides
21. May 19: Specification slides; C++ slides code cplusplus.com tutorial
22. May 21: C++; memory management idioms slides str code code
23. May 23: Societal implications: code quality and liability slides
X. May 26: No class; Memorial day
24. May 28: C++ (cont)
25. May 30: Linking and libraries slides
26. June 2: Shared-memory concurrency slides
27. June 4: Concurrency (cont.) slides
28. June 6: Some last surveys: Profiling and gprof slides code gprof manual; Code-Pointers and Objects; Course Summary slides files
X. Tuesday, June 10: Final exam, 2:30-4:30 pm.
Instructor: Hal Perkins; perkins(at)cs; CSE 548
TA: Kari Christianson; karibeth(at)cs
TA: Dingding Liu; liudd(at)cs
TA: Pamela Vagata; psv3(at)cs
Office hours in CSE 006 (basement lab)
Monday: Perkins, 4:00-4:30+ (i.e., later if people are still around)
Tuesday: Liu, 3:30-4:30
Wednesday: Vagata, 11:30-12:20
Wednesday: Perkins, 4:30-5:00+
Thursday: Christianson, 3:30-4:30
Friday: Liu, 1:30-2:30
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.