This course is about producing reliable and maintainable software.
Over the course of the semester, you will be exposed to programming techniques such as interface specifications, software engineering tools such as version control and bug tracking systems, and human processes such a code walks, in which you will present your software to a panel of your peers for inspection and critique.
During this course, you will design, implement, and maintain a reasonably large software system in the programming language of your choice.
Prerequisites: This course has no official university
prerequisites. However, you must be comfortable developing