CS 111 course website

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.

As part of my work on planning the course, I took the opportunity to modernize the tools Dave used on the course website for many years. We decided to use Markdown for the website, problem sets, and lab assignments, for ease and speed. To use Markdown on the web server at BU, I developed presto, a small Python script that used the popular Python implementation of Markdown, Python-Markdown, to generate flat HTML. presto was inspired by static website generators like Jekyll, but tailored to our web server’s specific limitations.

I also developed a custom CSS design and JavaScript for the site. I tried to incorporate responsive design principles by designing mobile-first. In addition, I wrote custom JavaScript to support a dynamic table of contents widget that shows a reader their position on a potentially huge page. This came from the fact that problem set pages are often very long.

Screen shots