Starting in the fall of 2014, Dave Sullivan’s introductory computer science course CS 111 was reworked, taking inspiration from Harvey Mudd College’s highly successful course CS 5. Dave asked me to be a part of his teaching staff for the fall offering of the course and to provide input as to how the course would change.

Part of my work on the course included developing a new course website. After the first semester the course was offered, we saw an opportunity to replace an existing system called WebSubmit, written by Aaron Stevens, with a new system that could integrate with our existing socrates installation.

I implemented the replacement system, Apollo, in PHP. Apollo aims to eradicate many of the common issues we saw over many offerings of CS 111, by achieving the following goals:

Since we installed Apollo on the same server where we were running presto, I wrote Apollo to read presto’s main HTML template so that its front-end matches the static site. In addition, I wrote straightforward, dependency-less templating logic to separate Apollo’s business code from its presentation.

Screen shots