COMP 501: Production Programming← (none) → |
Home — Spring 2014 | | | Information | | | Resources | | | DrJava | | | SourceForge | | |
Robert "Corky" Cartwright — Office hours: MWF 9-10 and by appointment.
TBA (perhaps none)
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.
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.
Production Programming Using eXtreme Programming (XP)
Leading-Edge Programming Technology
Review of OO Design Principles
Concurrent Programming
Project Management