As software projects become more complex, it becomes increasingly important to keep the code organized and manageable; otherwise, it becomes extremely difficult to implement new ideas, and the project is much more likely to be prone to mysterious and frustrating bugs. This course will demonstrate several approaches to organizing code for larger-scale projects, including how to write and name functions and classes, DRY (Don’t Repeat Yourself), pure functions, unit testing and Test-Driven Development (TDD), and why to avoid “magic numbers” and global variables. The focus of the course will be on JavaScript, using P5.js, but the principles will apply to most languages. We will be doing an ongoing, step-by-step, in-class refactor* of a complex sketch. We will also be using version control to track our changes every class. Students will be expected to complete weekly readings and assignments, and to refactor one of their previous projects, using the principles learned in this course. * Refactoring means rewriting the code, without any changes to how the program behaves. Students should have some programming experience prior to taking this course, and would ideally have an existing software project they would like to develop.
Interactive Telecommunications (Graduate)
1 credits – 1 Week
Sections (Spring 2025)
ITPG-GT 3014-000 (11433)