Monday, March 29: | In class: introduction. |
Wednesday, March 31: | Finish reading What is Extreme Programming? by Ron Jeffries. |
Friday, April 2: | Finish reading Sections 1.1–1.3.3 of the Java Extreme Programming Cookbook. |
Monday, April 5: | Finish reading Sections 2.1–2.2 of the Java Extreme Programming Cookbook. |
Wednesday, April 7: | Finish reading 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. |
Friday, April 9: | Finish reading Sections 2.3, 2.4, 2.6, and 3.13 of the Java Extreme Programming Cookbook. |
Monday, April 12: | Finish reading the section about testing on the first 6 pages of the course reader. |
Wednesday, April 14: | Finish reading the sections "Testing Patterns" and "Green Bar Patterns" on pages 7–14 of the course reader and Section 6.1 of the Java Extreme Programming Cookbook. |
Friday, April 16: | Finish reading pages 15–23 of the course reader (the sections "Testing Issues" and "Unit Testing" through the part about code reviews). |
Monday, April 19: | Finish reading pages 24–34 of the course reader (about proving code correct). As you write unit tests, refer to the JUnit Documentation and the jMock 2 Cheat Sheet. |
Monday, April 26: | Finish reading the description and documentation comments sections of the javadoc reference guide. |
Wednesday, April 28: | Finish reading the section about the Object-Oriented Paradigm on pages 35–48 of the course reader. |
Friday, April 30: | Finish reading the section about the UML on pages 49–55 of the course reader. See also access levels for Java class members. Note protected is less restrictive than the default! |
Monday, May 3: | Finish reading sections 1 through 2.2 of Introduction to Object-Orientation and the UML by Scott Ambler. |
Wednesday, May 5: | Finish reading the chapter "Principles in Refactoring" on pages 56–76 of the course reader. |
Friday, May 7: | Finish reading the chapter "Bad Smells in Code" on pages 77–90 of the course reader. |
Monday, May 10: | Review the refactoring example (which we began in class), including links to Martin Fowler's Refactoring site. |
Wednesday, May 12: | Finish reading the section "Patterns in Software Design" on pages 91–95 of the course reader. Review the Strategy pattern referenced in the refactoring example, and the related State pattern. |
Friday, May 14: | Review the Command pattern and consider which aspects of it appeared in the project starter code. |
Monday, May 17: | Review the intent and purpose of the other design patterns discussed in class, without dwelling on implementation details. |
Wednesday, May 19: | Finish reading the section "Layered Architectures" on pages 99–101 of the course reader. |
Friday, May 21: | Finish reading the section "Other Architectural Styles" on pages 101–113 of the course reader. |
Monday, May 24: | Finish reading the section "Software Process Models" on pages 114–128 of the course reader. |
Wednesday, May 26: | Finish reading through section 5 (page 4) of The costs and benefits of pair programming by Alistair Cockburn and Laurie Williams. |
Friday, May 28: | Finish reading The costs and benefits of pair programming by Alistair Cockburn and Laurie Williams. |
Monday, May 31: | Holiday; no class. |
Wednesday, June 2: | Final version of project due in repository at 11:00.(See project checklist.) Project demos from 14:00–17:00 in CSB 001. Plan and practice! |
Friday, June 11: | Take the final exam from 15:00–17:59 in CSB 001. |
Lecture: | M/W/F, 14:00–14:50 Cognitive Science Building room 001 |
(mandatory) Lab: | M/W 15:00–16:50 (after lecture) EBU3B room B270 (and B260) |
Instructor: | Dana Dahlstrom (e-mail dana+70 at cs. ucsd. edu )office hours: by appointment in EBU3B room 2106 |
Teaching Assistant: | Holmes Futrell |
Required Text: | CSE 70 Course Reader available after April 5 at A.S. Soft Reserves on campus |
Grading: | 32% in-class quizzes (lowest dropped); 40% class project; 28% 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