The University of Aizu
Copyright 1995 1996 -- University of Aizu -- Christian Goetze
Permission to use this course for non-commercial purposes
is granted as long as attribution remains unchanged.
For further information please contact the author at:
c-goetze@u-aizu.ac.jp
Programming II - Monopoly Project
This C++ programming course features a full scale software
development project. The goal is to create a Monopoly engine --
that is, a program that can keep track of the state of a game of
Monopoly. It is basically a small
database with well defined access methods.
The course builds on top of a Programming I course which has introduced
students to basic programming concepts and C.
After a few introductory sessions on C++ programming in general, this
course will focus on using C++ idioms
to implement many standard situations, including:
Besides covering these idioms, the course will also introduce some
basic software engineering techniques:
- automated building using make or cook;
- testing, test suites;
- configuration management;
- process control using aegis;
- automatic code generation.
The course is scheduled for ten 90 minute lectures and fourteen
180 minute lab sessions.
Lectures
Exercises
Exercises 1-4 are individual exercises. Exercises 5-14 are intended
for the project group. Click here for a
summary of the project work.
Click here to see an approximate
schematic of the Monopoly project's class hierarchy.
Solutions
Please e-mail the author
for a solution set.
Projects
The project work for the winter semester 95/96 has been completed.
Click here
for this semester's project progress statistics. Server usage statistics are available
here.
Obviously, the project template itself has plenty of bugs, so I'm also
maintaining a "to do" list.
References
- Bjarne Stroustrup: The C++ Programming
Language, Addison Wesley, Sec. Edition, 1991.
- Grady Booch: Object-Oriented Analysis and Design,
Benjamin/Cummings, Sec. Edition, 1994.
- Hans van Viet: Software Engineering,
Principles and Practice, John Wiley & Sons, 1993.
- Peter Miller: Aegis, A Project Change Supervisor,
ftp://ftp.agso.gov.au/pub/Aegis/aegis.2.3.tar.gz, 1995.
- M. T. Skinner: The C++ Primer,
Prentice Hall, 1992.
Page accessed
times
Christian Goetze