Syllabus
Academic-Integrity Policy
Extra-Credit Policy
Meetings: MWF 2:30-3:20, PAA A110
Class discussion list
Class email list archives
Homework 0 "due" Sept. 28, worth zero points,
but important(!)
Homework 1, due Monday, Oct. 8 at noon
Homework 2, due Wednesday Oct. 17 at noon
Homework 3, due Monday, Oct. 29 at noon
Homework 4, due Wednesday, Nov. 14 at noon.
Homework 5, due Wednesday Thursday, Nov. 28 29,
at 9
pm.
Societal-implication paper, due Dec. 7 at noon. No
late assignments will be accepted. assignment example
paper turn-in link
Old midterm exams: sp05 (solution); wi06 (solution); sp06 (solution); wi07 solution; sp07 (solution)
This quarter's midterm: exam sample solution
Old final exams: sp05 (solution); wi06 (solution); sp06 (solution); wi07 (solution);
sp07 (solution)
This quarter's final: 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. Sept. 26: Course Introduction, Shell Basics
slides
shell history
2. Sept. 28: Processes, Users, Shell Special Characters, Emacs
slides
shell history
3. Oct. 1: I/O Redirection, Shell Scripts
slides
scripts
shell history
Hint for accessing the scripts: tar -xf lec3scripts.tar (see man tar)
4. Oct. 3: Shell Variables, More Shell Scripts
slides
scripts
shell history
5. Oct. 5: Regular Expressions (and more), grep, Other Utilities
slides
shell history
6. Oct. 8: sed, command-line-tools wrap-up
slides (forgot to save shell history, alas)
7. Oct. 10: Introduction to C
slides
8. Oct. 12: C: locals, left vs. right expressions
slides
sample code
9. Oct. 15: C: pointers, function calls slides
10. Oct. 17: C: structs, array parameters, the heap
11. Oct. 19: Societal implications: data privacy slides,
ORCA pass: Daily
article; What-About Radio; CSE letter (CSE
only)
12. Oct. 22: C: casts, linked-lists, preprocessor slides
generic_swap.c list.c
13. Oct. 24: C: printf/scanf; summary slides
14.
Oct. 26: C summary; make slides
15.
Oct. 29: Societal implications: Software quality, licensing, defect disclosure slides
X. Oct. 31: Midterm, in class
16. Nov. 2: Make; gdb slides makefile
demo
17. Nov. 5: gdb gdb
manual; Testing slides
18. Nov. 7: Version control slides
19. Nov. 9:
Version control (cont.); Specification slides
X. Nov. 12: No class; Veterans Day
20. Nov. 14: Societal implications: Electronic voting slides links
from sp07
21. Nov. 16: Specification (concl.); Memory management and hw5
22. Nov. 19: Shared-memory concurrency slides demos
and eclipse plugin
23. Nov 21: Concurrency (cont.) slides
X. Nov. 23: No class; Thanksgiving holiday
24. Nov. 26: C++ slides code cplusplus.com tutorial
25.
Nov. 28: C++ slides code
26. Nov. 30: Societal Implications: Obligations of Software
Professionals ACM
Code questions
27. Dec. 3: course evaluations; Linking and libraries slides
28. Dec. 5: Profiling and gprof slides code gprof
manual
29. Dec. 7: Code-Pointers and Objects; Course Summary slides files
X.
Dec. 11: Final exam, 2:30-4:30 pm.
Instructor: Hal Perkins; perkins(at)cs; CSE 548
TA: Robert Fraser; xycos(at)cs
TA: Dingding Liu; liudd(at)u
TA: Brian Ngo; brianngo(at)cs
Office hours in CSE 006 (basement lab)
Perkins: Mon. 4-5pm, Wed. 4:30-5:30pm (also
drop-ins &
appointments in CSE548 office)
Fraser: Tue. 12:30-1:30
Liu: Thur. 4:30-5:30
Ngo: Fri. 3:30-4: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, Binky
Are the texts required?
Linux
Pocket Guide by Daniel J. Barrett, O'Reilly, 2004.
Programming
in C (3rd Ed.) by Stephen G. Kochan, Sams Publishing, 2005.
Also useful: C:
A Reference Manual (5th Edition) by Samuel P. Harbison, Guy
L. Steele. Prentice Hall, 2002.