Rice University Programming Languages Team

[Texas PLT logo] Comp 312: Production Programming

Compiled by Robert "Corky" Cartwright


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 5.0/6.0. The course projects will involve extending production programs like DrJava that are written in Generic Java. The code developed in the course will be deployed in ongoing releases of these production programs.

In this edition of the course, we emphasize program refactoring and patterns for avoiding synchronization errors in concurrent programs.

See the Course Information page for a further overview.


Instructors:

  • Robert "Corky" Cartwright cork@rice.edu Office hours: MW 11-12

  • Teaching Assistants:

  • Dan Smith dlsmith@rice.edu Office hours: MWF 1-2, 3-4

  • Course Material:

    Documents Discussed in Class

    Recommended Texts

    References

    Other Documents

    Java

    Generics

    Concurrency

    Programming Practice

    Types & Logic

    Old Notes

    Research