[Texas PLT logo]

COMP 501: Production Programming

  (none)  

Instructor

Robert "Corky" Cartwright — Office hours: MWF 9-10 and by appointment.

Teaching Assistants

TBA (perhaps none)

Course Assignments

In this course, our primary goal is developing a proficiency for production programming in Java nd perhaps Scala and/or Swift. We will work on improving DrJava, lifting DrScala from pre-alpha to production level, and perhaps on creating a new DrX platform for creating lightweight IDEs for any language X for which a compiler and incremental runtime exists.

The DrJava build process is based on Java 8.0 but the build file is a hacked descendant of a Java 5.0 build file that relied on svn for version control and sourceforge as a code repository; it needs to be updated to integrate smoothly with git and github. The DrScala build process is similarly cobbled together. We need to update our developer docs for DrJava and create up-to-date developer docs for DrScala.

With the exception of a few simple assignments near the beginning of the course, all programming will be done as a team. I anticipate forming only team since I expect the class size to be small.

Workload and Grading

Students are expected to spend 10-12 hours per week (including lectures and team meetings) on the course, mostly working in teams on software projects. Students are graded primarily on their effectiveness as software developers. Performance on individual assignments will contribute less than 20 percent of a student's grade.

Each student is required to keep a log book recording the blocks of time (date, time, duration, task) spent on programming in the course. All phases of the program development process (design, coding, reviewing, testing, and debugging) should be included.


Topics Covered

Production Programming Using eXtreme Programming (XP)

Leading-Edge Programming Technology

Review of OO Design Principles

Concurrent Programming

Project Management

  (none)  

URL: http://www.cs.rice.edu/~javaplt/501/15-fall/info.shtml