CSE 190: Working with Large Code Bases
NOTE: This is the old version of the course taught in Spring 2023. The Spring 2024 version of the course is hosted here.
A vital skill to be a successful software engineer is the ability to work with large code bases. Often, in industry or research projects, you may be tasked with fixing a bug, adding a small feature, or implementing some major changes in pre-existing code bases. As a result, the ability to effectively navigate, understand, and contribute to a large code base can help one to be prepared for the demands of working a software engineering job. In this course, students will learn about the processes, techniques, and tools to work with large code bases. For example, students will learn how to navigate between different files (and functions), use documentation and other resources (e.g., Stack Overflow), and use built-in IDE features to understand code in an effective manner. By the end of the course, students will work on a large, open-source code base and may even contribute to an open source project (if they wish to do so).
Learning Objectives
Students who successfully complete this course will be able to:
- Setup a development environment to build and work on software tools from source.
- Effectively navigate through a large code base.
- Read, understand, and modify parts of a large code base.
- Test and debug issues in a large code base.
- Understand the workflow to contribute to a large code base.
- Effectively Communicate how a code base works to others.
- Use documentation and Q&A websites to learn just-in-time.
(Source: Random outdated picture off the Internet.)