Software Design (CS 3)
Head of Online, TA, Caltech, 2022
Principles of software design using a low level language (C). Topics covered include: code reviews, testing and testability, code readability, API design, refactoring, and documentation. [Course Website]