CS 18
Software Design Practicum
CS 18 is a practical introduction to designing large programs in a low-level language. Heavy emphasis is placed on group work, documentation, testing, and software architecture. Students will work in throughout the term to create their own physics engine and open-ended game using the C programming language. Software engineering topics covered include code reviews, testing and testability, code readability, API design, refactoring, and documentation. Prior experience with the C programming language at the level of CS 3(c) is required and assumed.
Topics
- code reviews
- testing and testability
- code readability
- API design
- refactoring
- and documentation
Topics explicitly listed in official catalogue description
Prerequisites & course information
Prerequisites: CS 3x or instructor's permission.
Sources
- Course catalogue ↗2026-2027