Mathias Ricken

Mathias Ricken




Curriculum Vitae (pdf)
(doc)  (txt)  (embedded)

Resume (pdf)
(doc)  (txt)  (embedded)


External linkArchive on A Concurrent Affair

RSSPublication RSS Feed

Research Projects

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


Geometry Synthesis by Analogy


External linkCOMP 410 - Software Engineering Methodology

Past Classes


External linkA Concurrent Affair

External linkMy
External linkPapers
External linkTalks
External linkTeaching

      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:
Design Patterns for Marine Biology Simulation (PDF) (view embedded).

The project is in active use as class assignment. If you are interested in the full materials and the solution, please contact me.

Student Downloads

The most current files for the assignment for students can be downloaded here:


Instructor Downloads

The most current solution and hint files for the assignment for instructors can be downloaded here (Note: These files are password-protected).


Lecture Notes

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.

Copyright © 2002-2011 by Mathias Ricken. All rights reserved.