CSE 70, Winter 2009

Software Engineering


Important Dates and Deadlines

Wednesday, January 7:Finish reading What is Extreme Programming? by Ron Jeffries.
Friday, January 9:Finish reading Sections 1.1–1.3.3 of the Java Extreme Programming Cookbook.
Monday, January 12:Finish reading Sections 2.1–2.2 of the Java Extreme Programming Cookbook
and Chapter 2 (Basic Usage) of the online book Version Control with Subversion.
Note: Don't worry about "Getting Data into your Repository" since we'll do that for you.
Wednesday, January 14:Finish reading the sections "Testing Issues" and "Unit Testing" on pages 16–34 of the course reader.
Friday, January 16:Finish reading Section 2.3 of the Java Extreme Programming Cookbook
and the 3 sections on pages 35–48 of the course reader.
Monday, January 19:Holiday; no class.
Wednesday, January 21:Finish reading Sections 4.1, 4.4, 4.13, 4.17, and 6.1 of the Java Extreme Programming Cookbook.
As you write unit tests, refer to the JUnit Documentation and the jMock 2 Cheat Sheet.
Friday, January 23:Finish reading Sections 3.1, 3.13, and 3.16 of the Java Extreme Programming Cookbook.
Examine your build.xml and experiment with Ant.
Monday, January 26:Finish reading the description and documentation comments sections of the javadoc reference guide.
Friday, January 30:Finish reading the chapter "The Object Oriented Paradigm" on pages 49–62 of the course reader.
See also access levels for Java class members. Note protected is less restrictive than the default!
Monday, February 2:Finish reading Introduction to Object-Orientation and the UML by Scott Ambler.
Wednesday, February 4:Finish reading UML 2 Class Diagrams by Scott Ambler.
Monday, February 9:Finish reading the chapter "Principles in Refactoring" on pages 63–80 of the course reader.
Wednesday, February 11:Finish reading the chapter "Bad Smells in Code" on pages 81–94 of the course reader.
Friday, February 13:Review the refactoring example, including links to Martin Fowler's Refactoring site.
Monday, February 16:Holiday; no class.
Wednesday, February 18:Finish reading the section "Patterns in Software Design" on pages 95–99 of the course reader.
Review the State pattern referenced in the refactoring example.
Friday, February 20:Finish reading the section "Layered Architectures" and "Other Architectural Styles" on pages 99–117 of the course reader.
Monday, February 23:Finish reading the section "Software Process Models" on pages 1–15 of the course reader.
Wednesday, February 25:Finish reading The costs and benefits of pair programming by Alistair Cockburn and Laurie Williams.
Monday, March 2:Finish reading the first 5 sections (through "How Many Eyeballs Tame Complexity") in The Cathedral and the Bazaar.
Wednesday, March 4:Finish reading the first 10 sections (through "Necessary Preconditions for the Bazaar Style") in The Cathedral and the Bazaar.
Friday, March 6:Finish reading The Cathedral and the Bazaar (through the epilog).
Monday, March 9:Final version of project due in repository at noon.(See project checklist.)
Project demos from 16:00–18:00 in EBU3B room 4140. Plan and practice!
Wednesday, March 11:In class: final review, part 1.
Friday, March 13:In class: final review, part 2.
Friday, March 20:Take the final exam from 15:00–17:59 in Center Hall room 216.

Course Material


Other Resources


Basics and Contact Information

Lecture: M/W/F, 16:00–16:50
Center Hall room 216
(mandatory) Lab: M/W 17:00–17:50 (after lecture)
EBU3B room B270
Instructor: Dana Dahlstrom (e-mail dana+70 at cs. ucsd. edu)
office hours: by appointment in EBU3B room 2106
Teaching Assistant: Tess Winlock (e-mail twinlock at cs. ucsd. edu)
open lab hours: M/W 18:00–19:00 in EBU3B room B270
Required Text: CSE 70 Course Reader
available at A.S. Soft Reserves on campus
Grading: 25% in-class quizzes (lowest dropped); 50% class project; 25% final exam

La perfection est réalisée, pas quand il n'y a rien à davantage ajouter, mais quand il n'y a plus rien à emporter. —Antoine de Saint-Exupéry

Valid XHTML 1.0 Strict Valid CSS!