Syllabus
Academic-Integrity Policy
Extra-Credit Policy
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)
sp07 (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
slides
shell history
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.