| Professor: | Chris Gill |
| Office Hours: | Bryan 506 Mon and Wed 3-4pm, or by appointment |
| Contact Info: | phone: (314) 935-7538 e-mail: cdgill@cse.wustl.edu |
| Newsgroup: | Your teaching assistants and professor will also frequently read and respond to postings on the course newsgroup (news://newsreader.wustl.edu/wu.cse.class.432). |
http://www.cse.wustl.edu/~cdgill/courses/cse432/
The instructor and TAs will read and respond to postings on the course newsgroup (news://newsreader.wustl.edu/wu.cse.class.432).
Please see the CSE Graders page for more information.
Please do not e-mail technical questions to the professor or teaching assistants individually: instead, please post on the newsgroup for all to see, consider, and respond.
Please note that the newsgroup is a vital part of your CSE 432 experience. Participation in the newsgroup (i.e., quantity and quality of your posts) will count significantly toward your participation grade.
If you have trouble accessing the newsgroup, please let us know right away!
In addition to class meeting dates and themes, page numbers for reading assignments from the required textbooks (Design Patterns a.k.a. "GoF", and Pattern Hatching a.k.a. "PH") are shown for each meeting. Details about the textbooks are listed in the Textbooks section, below.
| Date | Course Project Stage | Assigned Reading | Presenting Teams | Discussion Leader |
| Wed, Jan 18 |
Course Structure and Syllabus, Intro to Design Patterns and Pattern Languages |
Prof. Gill (slides in ppt) |
||
| Mon, Jan 23 |
Team Formation and Project Definition |
GoF Preface, Foreword, Chapter 1 through section 1.5 (pp. xi-11) | Genevieve Gurney (slides in ppt) |
|
| Wed, Jan 25 |
GoF Chapter 1 sections 1.6-1.8 (pp. 11-31) | Stephen Jewett (slides in ppt) |
||
| Mon, Jan 30 |
Requirements I (grading form and rubric in Word) |
GoF Composite Pattern (pp. 163-173) PH Chapter 1 (pp. 1-11) PH Chapter 2 through Fundamentals (pp. 13-18) |
1 & 2 | Joe Barzilai (slides in ppt) |
| Wed, Feb 1 |
GoF Chapter 2 through section 2.6 (pp.33-58) | 3 & 4 | Rebecca Miller-Webster (slides in ppt) |
|
| Mon, Feb 6 |
High Level Design I (grading form and rubric in Word) |
GoF Chapter 2 sections 2.7-2.9 (pp. 58-77) | 2, & 3 | Jonathan McDonald (slides in ppt) |
| Wed, Feb 8 |
PH Chapter 2 Orphans, Adoption, and Surrogates (pp. 18-24) GoF Singleton Pattern (pp. 127-134) |
4 & 1 | Emanuel Ekstrom (slides in ppt) |
|
| Mon, Feb 13 |
Low Level Design I (grading form and rubric in Word) |
PH Chapter 2 "But Where Do Surrogates Fit into This" (pp. 24-29) GoF Proxy Pattern (pp. 207-217) GoF Observer Pattern (pp. 293-299) |
3 & 4 | Rebecca Chernoff (slides in ppt) |
| Wed, Feb 15 |
PH Chapter 2 Visiting Rights (pp. 29-38) GoF Visitor Pattern (pp. 331-344) |
1 & 2 | Jared Lerner (slides in ppt) |
|
| Mon, Feb 20 |
Implementation I
(grading form and rubric in Word) |
PH Chapter 2 Single User Protection (pp. 38-45) GoF Template Method Pattern (pp. 325-330) GoF Strategy Pattern (pp. 315-323) |
4 & 1 | Nick Beary (slides in ppt) |
| Wed, Feb 22 |
PH Chapter 2 Multiser Protection and Wrapping Up (pp. 45-59) GoF Mediator Pattern (pp. 273-282) |
2 & 3 | Matt Brenneke (slides in ppt) |
|
| Mon, Feb 27 | Evaluation I (grading form and rubric in Word) (Midterm Project Reports) Take Home Midterm Exam and individual and course 360° Review Forms (Handed Out Mon Feb 27, Due Fri Mar 10 by 5pm) |
1 | ||
| Wed, Mar 1 |
GoF Creational Patterns (pp. 81-85) GoF Abstract Factory Pattern (pp. 87-95) GoF Builder Pattern (pp. 97-106) |
2 | Brent Ramerth (slides in ppt) |
|
| Mon, Mar 6 |
GoF Structural Patterns (pp. 137-138) GoF Adapter Pattern (pp. 139-150) GoF Bridge Pattern (pp. 151-161) |
3 | Nick Yianilos (slides in ppt) |
|
| Wed, Mar 8 |
GoF Behavioral Patterns (pp. 221-222) GoF Iterator Pattern (pp. 257-271) GoF Memento Pattern (pp. 283-291) |
4 | Jerry Hoff (slides in ppt) |
|
| Mon, Mar 13 |
||||
| Wed, Mar 15 |
||||
| Mon, Mar 20 |
Requirements II (grading form and rubric in Word) |
PH Chapter 3 To Kill a Singleton (pp. 61-72) GoF Factory Method Pattern (pp. 107-116) |
4 & 3 | Michael Gardner (slides in ppt) |
| Wed, Mar 22 |
PH Chapter 3 The Trouble with Observer and Visitor Revisited (pp. 72-85) |
2 & 1 | Crystal Miller (slides in ppt) |
|
| Mon, Mar 27 |
High Level Design II (grading form and rubric in Word) |
PH Chapter 3 Generation Gap (pp. 85-101) | 1 & 4 | Todd Anderson (slides in ppt) |
| Wed, Mar 29 |
PH Chapter 3 Type Laundering (pp. 102-110) GoF Prototype Pattern (pp. 117-126) |
3 & 2 | Kunal Chaudhary (slides in ppt) |
|
| Mon, Apr 3 |
Low Level Design II (grading form and rubric in Word) |
PH Chapter 3 Thanks for the Memory Leaks and Pushme-Pullyu (pp. 110-121) GoF Command Pattern (pp. 233-242) |
2 & 1 | Prof. Gill (slides in ppt) |
| Wed, Apr 5 |
PH Chapter 4 (pp. 123-144) | 4 & 3 | Christopher Swope & Yuling Liang (slides in ppt) |
|
| Mon, Apr 10 |
Implementation II (grading form and rubric in Word) |
PH Chapter 5 (pp. 145-152) GoF Façade Pattern (pp. 185-193) |
3 & 2 | John Klacsman (slides in ppt) |
| Wed, Apr 12 |
GoF Decorator Pattern (pp. 175-184) GoF Flyweight Pattern (pp. 195-206) |
1 & 4 | David Franco (slides in ppt) |
|
| Mon, Apr 17 |
Evaluation II (grading form and rubric in Word) (Final Project Reports) Take Home Final Exam and Final Individual 360° Review Form (Handed Out Mon Apr 17, Due Mon May 8 by 5pm) To submit your Final Course Review, please use the Washington University Course Evaluations web page (please submit these by May 3rd) |
4 | ||
| Wed, Apr 19 |
GoF Chain of Responsibility Pattern (pp. 223-232) | 3 | Yuyang Chen (slides in ppt) |
|
| Mon, Apr 24 |
GoF Interpreter Pattern (pp. 243-255) | 2 | Garrett Eardley (slides in ppt) |
|
| Wed, Apr 26 |
GoF State Pattern (pp. 305-313) | 1 | Aaron Jacobs (slides in ppt) |
|
| Mon, May 1 |
Team Demos and Course Review | 1, 2, 3, & 4 | Prof. Gill (slides in ppt) |
|
| Mon, May 8 |
||||
Project documents and code are to be submitted electronically to the course e-mail account cse432@cec.wustl.edu, and will be graded and returned to you electronically as well. The milestone for each week appears in the course Presentations and Discussions section, and will be due at 11:59pm on that Thursday (after you have given your presentation and received feedback on it, on that Monday or Wednesday). Since the midterm and final evaluation and report sessions will each span two weeks, the milestones for those stages will be due on the second of the two Thursdays.
Project milestones submitted on time will be graded and returned by the following Monday. Project milestones submitted within 24 hours after the posted deadline will be accepted with a 15% penalty up front, and project milestones submitted between 24 and 48 hours after the posted deadline will be accepted with a 30% penalty up front. Project milestones submitted after that will not be graded, except in the case of documented extenuating circumstances.
You may freely discuss your projects with members of your team at any time. You may discuss your projects with other students during class times and on the newsgroup. Midterm and final exams will be completed individually and you may not discuss them with anyone else, except for your professor.
You are encouraged to post and ask for help on particular problems you may encounter during your projects, though each team must design and implement its own own solution, and prepare its own report. If during your project you determine it would be useful to incorporate code or documentation from a source outside your team, you will need to first obtain the professor's permission to use it, and you must then make sure to attribute the source appropriately.
If you'd like to look at a more complete set of coding standards used in a major collaborative (university, government, and industry) development setting, the ACE Software Development Guidelines document, from which a number of the guidelines for this course were drawn, and which the ACE developers use in daily practice, is a good place to start.
We'll use the required textbooks both as references and for reading assignments. The class meeting schedule contains references to reading assignments in the required texts. Please read them before the class meeting, and use the text as a reference in designing and developing your projects.
In addition to the required texts, the following texts may be useful additions to your programming library:
The take-home midterm and final exams will be comprehensive: each will cover the material up to that point in the course. The best way to study for the exams is to keep up with the readings and projects during the semester, and to ask lots of questions in class and on the newsgroup throughout the semester.
| Projects | 60 % Requirements I: 4 % High Level Design I: 4 % Low Level Design I: 4 % Implementation I: 4 % Evaluation I: 4 % Requirements II: 8 % High Level Design II: 8 % Low Level Design II: 8 % Implementation II: 8 % Evaluation II: 8 % Midterm exam |
10 % |
Final exam |
15 % |
Discussion Led |
5 % |
360° Reviews |
5 % |
Participation |
5 % |
|
For this course, examples of cheating include but are not limited to:
This is a very serious matter. Anyone found cheating will at a minimum lose points equal to the assigned value for the assignment in question (for example if an assignment were worth 10% of the course grade then -10% of the course grade would be assigned), or possibly receive an F for the course. Further action may be taken in extreme cases, possibly including referral to the School of Engineering and Applied Science's formal academic integrity review process.
Furthermore, our policy is that we will make the final determination on what constitutes cheating. If you suspect that you may be entering an ambiguous situation, it is your responsibility to clarify it before the professor or TAs detect it. If in doubt, please ask.