In this course, students will extend and improve their programming skills. We will focus on large-scale design, team coordination, and hacking fully functional systems. In addition to acting as practitioners, we will also periodically reflect on the development process itself from a meta level. Thus, we will be acting as both software engineers and computer scientists.
More information about the Fall 2017 version of the course will be forthcoming. For now, simply plan to spend considerable time on the projects.