|CSE Home||About Us||Search||Contact Info|
Meetings: MWF 12:30-1:20, EEB 037
Class email list archives
Instructor: Hal Perkins; perkins(at)cs; CSE 548, office hours: Mon. & Wed.
TAs: Christopher Hoover, furby16(at)cs, office hours Thur. 2:30-3:30, CSE 218; Dun-Yu Hsiao, dyhsiao(at)cs; office hours Tue. 3-4, CSE 220.
Dropbox for assignment submission
Homework 1, due Thursday, April 1, at 11 pm.
Homework 2, due Thursday, April 8, at 11 pm.
Homework 3, due Monday, April 19, at 11 pm.
Homework 4, due Wednesday, April 28, at 11 pm.
Homework 5, due Thursday, May 13, at 11 pm.
Homework 6, due: 0. Partner info, Saturday, May 15 at 11 pm; Headers and skeleton code, Thursday, May 20 at 11 pm (no late assignments for this part); Final code, Thursday, May 27, at 11 pm.
Homework 7, due Thursday, June 3, at 11 pm.
You have up to four (4) late days to use during the quarter, no more than two (2) of which can be used on any one assignment. For assignments done with partners, late days can only be used if both partners have them available.
Here is a selection of old exams from CSE 374 and the related course, CSE 303. Different offerings of these courses covered slightly different things. You won't be tested on things we did not do this quarter.
This quarter's final: exam sample solution
Old CSE 374 final exam: sp09 (solution)
Some old CSE 303 final exams: wi09 (solution); au08 (solution); sp08 (solution); au07 (solution)
This quarter's midterm: exam sample solution
Old CSE 374 midterm: sp09 (solution)
Some old CSE 303 midterms: wi09 (solution); au08 (solution); sp08 (solution); au07 (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.
1. March 29: Course Introduction, Shell Basics slides
2. March 31: Processes, Users, Shell Special Characters, Emacs slides; A command sampler slides; shell history from lecture
3. Apr 2: I/O Redirection, Shell Scripts; slides, scripts, large picture, shell history
4. Apr 5: Shell Variables, More Shell Scripts; slides, scripts, shell history
5. Apr 7: Regular Expressions (and more), grep, Other Utilities; slides shell history
6. Apr 9: Regular expressions and grep (concl.), sed; slides shell history
7. Apr 12: Command-line tools wrapup, shell history; Introduction to C slides
8. Apr 14: C intro continued, annotated slides
9. Apr 16: C: Control constructs, declarations, preprocessor intro, printf slides annotated slides
10. Apr 19: C: locals, left vs. right expressions slides annotated slides
11. Apr 21: C: malloc/free slides annotated slides
12. Apr 23: Tools: gdb (start) slides gdb manual original reverse.c debugging transcript
13. Apr 26: gdb and debugging (concl.) debugging transcript fixed reverse.c; C: Structs, linked lists, and casts slides sample code: structs.c list.c
14. Apr 28: C: Structs (concl.) annotated slides; Preprocessor revisited, multifile programs slides; quick exam review.
15. April 30: Midterm, in class
X. May 3: No class. NAE symposium downtown for some students.
16. May 5: Next assignment & tries
17. May 7: C: preprocessor wrapup annotated slides ; Tools: Make and build dependencies slides demo project
18. May 10: Make demo
19. May 12: Coding and commenting annotated slides from lecture
20. May 14 :Memory management and hw6 slides from lecture [updated 5/22]
21. May 17: Version control and svn demo slides annotated slides shell histories: natasha boris; subversion book
22. May 19: Testing slides annotated slides from lecture
23. May 21: Specification slides annotated slide from lecture
24. May 24: Specification (concl.); C++: intro slides; example classes: BankAccount string ; cplusplus.com tutorial Google C++ Style Guide
25. May 26: C++ (cont.)
26. May 28: C++: subclasses and inheritance slides property classes demo
X. May 31: No class, Memorial Day holiday
27. June 2: C++ virtual functions (wrapup); Shared-memory concurrency slides
28. June 4: Concurrency (concl.); Course Summary
X. Wednesday, June 9: Final exam review, 4:30 pm, CSE 403
X. Thursday, June 10: Final exam, 8:30-10:20 am.
A Quick-And-Dirty Getting-Started Guide
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.
Programming in C by Stephen Kochan, Sams, 2005.
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]