Short Description: Comp 312 focuses on emerging principles
of how to construct robust, reliable software systems using
test-driven development (incremental development, unit testing,
continual refactoring, continuous integration) augmented by practical
formal analysis methods. The course covers both proven software
development technology and promising leading edge technologies such as
the generic type system in Java 1.5, recently released by Sun
Microsystems. The course projects will involve extending production
programs such as DrJava which is written in Generic Java. The code
developed in the course will be deployed in future releases of these
production programs.
In this edition of the course, we emphasize program refactoring and patterns
for avoiding synchronization errors in concurrent programs.
Instructors:Teaching Assistants:Course Material: