CSE303, Spring 2005 (original) (raw)

CSE 303: Concepts and Tools for Software Development

Course Information

Course Dictionary

Homework

Homework 1, due 8 April 9:00AM. Turnin
Homework 2 , <htmlfiles.tar.gz>, due 15 April 9:00AMTurnin
Homework 3 <hw3cfiles.tar>, due 25 April 9:00AM Turnin
Homework 4 <hw4cfiles.tar>, due 5 May 9:00AM Turnin Late Turnin sample solution
Homework 5 Version A Version B Version Cdue 17 May 9:00AM Turnin 5A Turnin 5B Turnin 5C
(Homework 5 is an individual assignment, but you must establish a group of 3 students and have each group member do a different version of the assignment.)
Homework 6, due 26 May 9:00AM
Homework 7 <hw7.java> <hw7.cgi>, due 3 June 9:00AMTurnin

Short paper on societal implications topic, due 3 June 9:00AM description sample and advice Turnin

Class Materials

1. March 28: Course Introduction, Shell Basics slides shell history
2. March 30: Processes, Users, Shell Special Characters, Emacsslides shell history <lec2.java>
3. April 1: I/O Redirection, Shell Scriptsslides <lec3scripts.tar.gz>
Hint for accessing the scripts: tar -zxf lec3scripts.tar.gz (or use WinZip)
4. April 4: Shell Variables, More Shell Scriptsslides history scripts, etc.
5. April 6: Regular Expressions slides history
6. April 8: Line Editors and Filters (Sed) slides history
7. April 11: Introduction to C: The C-Level of Abstraction slides
8. April 13: C: locals, left vs. right expressions, dangling pointers, ... slides <sums.c> <pointers.c> <structs.c>
9. April 15: C: structs, heap-allocation slides
10. April 18: Implications of bad software scenario
11. April 20: C: casts, linked lists slides <list.c>
12. April 22: The C preprocessor, printf/scanf slides [Browse slide](The C Preprocessor.htm) badpi.c pmacro.c cond.c print.c
13. April 25: C: Post-overview, function pointers slides <mypoint.h> <mypoint.c> <mypoint%5Fuser.c>
14. April 27: Privacy in the Digital Age topics
15. April 29: MIDTERM
16. May 2: Debuggers, gdb slides C file gdb manual
17. May 4: Profilers, gprof slides C file gprof manual
18. May 6: Linkers, Libraries, Archives slides
19. May 9: Unit testing, stubs slides
20. May 11: Professional code of ethics ACM code
21. May 13: Build scripting, make slides
22. May 16: Generics, function pointers, void* slides <lec22Code.tar.gz>
23. May 18: Version-control, cvs slides cvshome.org history
24. May 20: Security, defensive programmingslides
25. May 23: Memory-management idioms slides
26. May 25: Computer technology for votingsome pointers slides
27. May 27: html, cgi, http slides
28. June 1: Threads, concurrency slides
29. June 3: Wrap-up, a taste of C++ slides C++ code

Staff

Instructor: Dan Grossman, , Allen Center 556
(careful: the userid equal to the instructor's last name belongs to a different person)
TA: Yongjoon Lee ( yongjoon at cs.washington.edu )
TA: Ben Hindman ( b at cs.washington.edu )

Meetings and Office Hours

Lecture: MWF 2:30-3:20, building BNS room 117
Final Exam: JUNE 7, 2005, 2:30-4:20, building BNS room 117
Grossman Office Hours: Tuesday 2-3, Friday 3:30-4:30
Lee Office Hours: Wednesday 3:30-4:30. Allen Center 315
Hindman Office Hours: Thursday 2:30-3:30. Allen Center 002

Textbooks

Are the texts required?
C: A Reference Manual (5th Edition) by Samuel P. Harbison, Guy L. Steele. Prentice Hall, 2002.
Linux in a Nutshell (Fourth Edition) by Ellen Siever, Aaron Weber, Stephen Figgins. O'Reilly, 2003.

Other Resources

A Quick-And-Dirty Getting-Started Guide
Your ACM Chapter's tutorials
The CSE department's Computing Resources for Undergrads
A Csh Tutorial

Preliminaries