CS 410/510 Top: Code Reading & Review
Credit Hours:
4/3
Course Coordinator:
Katie Casamento
Course Description:
Hands-on study and discussion on the topic of code quality with a focus on the comprehension and constructive criticism of program source code. Assignments will generally involve reading code in an imperative object-oriented language and writing in English about the code.
Goals:
Upon the successful completion of this class, students will be able to:
- Describe subjective and objective aspects of code quality and readability, especially the distinction between "idiomatic" and "unidiomatic" code in a given setting.
- Apply the techniques of "skimming" and "close reading" in appropriate situations to quickly and accurately identify and comprehend a relevant part of a given large program.
- Explain the meaning of a given piece of code in clear high-level terms suitable for another programmer to read and understand.
- Produce concise and informative embedded documentation for a given piece of code.
- Critique the subjective quality of a given piece of code with the goal of maintaining and improving code quality over time.
- Participate productively in a standard multi-stage code review process.
Major Topics:
- Development environments
- Formatting and linters
- Source control and collaborative workflows
- Functional abstraction
- Encapsulation
- Naming and documentation
- The "expression problem"
- Errors and exceptions
- Testing
- Software lifecycles