Fall 2021 Course Descriptions

CS 50-01 Intro to Software Development Tooling

M. Bernstein, T. Hebb
TR 7:30p-8:45p, Online (synchronous)
Q+ Block

Effective software development requires more than just coding skill: in industry and academia alike, developers use tools to keep their code maintainable and reliable. In this course, you will learn four fundamental categories of tooling: version control, the Linux shell, build systems, and testing. We’ll dive deep into one industry-standard tool from each category via hands-on projects and exploration of existing codebases, then survey other tools in the same category and discuss why you might choose one over another. By the end of the course, you will have a robust toolset both to manage complexity in your future projects and to effectively ramp up on software projects you encounter in the real world.


Back to Main Courses Page