CSE303, Spring 2007 (original) (raw)

CSE 303: Concepts and Tools for Software Development

Course Information

Syllabus
Academic-Integrity Policy
Extra-Credit Policy
Anonymous Feedback
Meetings: MWF 2:30-3:20, EEB 105

Homework

Exams

Our final:unsolved solved
Sample finals:Wi06 unsolved Wi06 solved Sp05 unsolved Sp05 solved
Our midterm: unsolved solved
Sample midterms: Wi06 unsolved Wi06 solved Sp05 unsolved Sp05 solved make-questions unsolved make-questions solved

Class Materials

1. Mar 26: Course Introduction, Shell Basics slides shell history
2. Mar 28: Processes, Users, Shell Special Characters, Emacsslides shell history
3. Mar 30: I/O Redirection, Shell Scripts slides scripts shell history
Hint for accessing the scripts: tar -xf lec3scripts.tar (see man tar)
4. Apr 2: Shell Variables, More Shell Scripts slides scripts shell history
5. Apr 4: Regular Expressions (and more), grep, Other Utilitiesslides shell history
6. Apr 6: sed, command-line-tools wrap-upslides shell history followup-email
7. Apr 9: Introduction to Cslides
8. Apr 11: C: locals, left vs. right expressions, pointersslides code
9. Apr 13: C: dangling pointers, structs, the heapslides <structs.c>
10. Apr 16: Societal implications: web privacyslides
11. Apr 18: C: casts, linked-listsslides <generic%5Fswap.c> <list.c>
12. Apr 20: C: preprocessor, printf/scanfslides
13. Apr 23: C summary, simple function pointers; makeslides
14. Apr 25: make continued; gdbslides buggy code gdb manual
15. Apr 27: Societal implications: Software quality, licensing, defect disclosureslides
X. Apr 30: Midterm, in class
16. May 2: gdb continued; Testingslides code
17. May 4: Version controlslides
18. May 7: Specification; Profiling and gprofslides code gprof manual
19. May 9: Profiling continued; Linking and librariesslides
20. May 11: Societal implications: Electronic votingslides links
21. May 14: Linking wrapup; introduction to concurrencyslides code
22. May 16: Shared-memory concurrencyslides code
23. May 18: Concurrency wrap-up; introduction to C++slides code cplusplus.com tutorial
24. May 21: C++ continuedslides code(code is almost the same as last class)
25. May 23: C++ Overriding and Wrap-up; Manual Memory-Management Idiomsslides
26. May 25: Societal Implications: Obligations of Software ProfessionalsACM Code questions
X. May 28: University Holiday
27. May 30: Security and Defensive Programmingslides <security%5Feg.c> <security%5Feg.sh>
28. Jun 1: Code-Pointers vs. Objects; Course Summaryslides C++ code C code

Course Glossary

Staff

Instructor: Dan Grossman, , Allen Center Room 556
TA: Laura Effinger-Dean effinger (departmental email address, i.e., with the cs)
TA: Jimmy Lewis jhlewis (departmental email address, i.e., with the cs)

Office hours:
Grossman: Tuesdays 2:00-3:00, Fridays 3:30-4:00, and by appointment
Effinger-Dean: Thursdays 2:00-3:00, in CSE 220
Lewis: Mondays 1:30-2:20, in CSE 002

Other Resources

More than enough HTML for homework 2: beginning "advanced" (describes tables)
A Quick-And-Dirty Getting-Started Guide
Your ACM Chapter's tutorials
The CSE department's Computing Resources for Undergrads
The Bash Manual
C++ Tidbits (optional material)

Textbooks

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.
C: A Reference Manual (5th Edition) by Samuel P. Harbison, Guy L. Steele. Prentice Hall, 2002.

Preliminaries

Join the course mailing list
Homework 0 "due" March 28, worth zero points