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
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:
socratesinstallation to obtain a list of expected file names, in order to ensure that students upload the right files.
socratesinstallation’s grades “dropbox,” so students can see their grades immediately after graders use
socrates’ “submit” command.
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.