Mathias Ricken Home Bio CV/Resume Curriculum Vitae (pdf) (doc) (txt) (embedded) Resume (pdf) (doc) (txt) (embedded) Archive on A Concurrent Affair Concutest: A Framework for Testing Concurrent Programs Mint: Multi-stage Programming for Java xajavac: Extended Annotations-Enabled javac LAPT-javac: Local Variable-Enabled javac DrJava IDE Programming for Change: The Temperature Calculator Object-Oriented Design Festival Design Patterns for Parsing Assignments for an Objects-First Curriculum Design Patterns for Marine Biology Simulation Geometry Synthesis DrC# IDE Geometry Synthesis by Analogy COMP 410 - Software Engineering Methodology Past Classes Blog A Concurrent Affair My Academia.edu Papers Talks Teaching |
Design Patterns for Marine Biology Simulation
During summer and fall 2003, Dr. Dung Nguyen, Dr. Stephen Wong and I have been working on a project that describes how to teach object-oriented programming and design patterns in an "object-first" curriculum to entering college students. The resulting paper has been accepted to the SIGCSE 2004 conference held in Norfolk, Virginia, March 3-7, 2004, and was published in the conference proceedings. We specify and implement a GUI application that simulates marine biological systems by making extensive use of object-oriented design patterns. The key design patterns are model-view-control, observer/observable, visitor, command, factory method and decorator. These design patterns help delineate the roles and responsibilities of the objects in the system, establish loose coupling between objects and arrange for the objects to communicate and cooperate with one another at the highest level of abstraction. The result is an application that exhibits minimal control flow, yet is powerful, robust, flexible and easy to maintain. Our work entails a non-trivial redesign of the current AP Computer Science Marine Biology Simulation case study and may serve as a case study for an introductory "object-first" curriculum. Here is the final version of the paper: The project is in active use as class assignment. If you are interested in the full materials and the solution, please contact me. The most current files for the assignment for students can be downloaded here:
The most current solution and hint files for the assignment for instructors can be downloaded here (Note: These files are password-protected).
Here are some preliminary lecture notes for Rice's Comp 212 - Intermediate Programming course. They examine one of the problems we encountered in our implementation: Factories for classes with differing constructors. This project is based on the Java Marine Biology Simulation Case Study © 2003 by The College Board. |
|||||
http://www.cs.rice.edu/research/dp4mbs/index.shtml Copyright © 2002-2011 by Mathias Ricken. All rights reserved. |