The focus of this course is to make you a self-sufficient programmer and provide you the tools to succeed in the rest of the CS curriculum and in summer internships. This course focuses on building programs from scratch using best practices. It covers programming style, documentation, testing, debugging, modular design, and design patterns. These concepts are primarily explored in the context of the Java and C++ programming languages.
CS 125 (or equivalent) is a pre-requisite for this course.