|
CSE Home | About Us | Search | Contact Info |
Syllabus
Academic-Integrity Policy
Extra-Credit Policy
Meetings: MWF 10:30-11:20, JHN 175
Class
discussion list
Class
email list archives
All office hours are in the CSE 006 lab.
Instructor: Hal Perkins; perkins(at)cs; CSE 548, Mon. & Tue.
2-3 pm
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
of
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 Wednesday, Feb.
19 18at
11 pm
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)
au08 (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
history
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 Box 352350 Seattle, WA 98195-2350 (206) 543-1695 voice, (206) 543-2969 FAX [comments to Hal Perkins] |