Quicklinks
Computer Science 169 — Software Engineering (4 Units)
Course Overview
Summary
CS169 is about all the things that go behind software engineering and software development.
Prerequisites
- CS61A/B/C
Topics Covered
- Processes for software development (a.k.a. how to organize a team to work on a large-scale project)
- Design patterns and paradigms of programming
- Testing methodologies
Workload
Course Work
- Four quizzes
- Five homework assignments
- Team project
- No Midterm/Final
- Mandatory Poster Session (during dead week)
Note: Course work typically varies semester to semester
Time Commitment
Varies significantly based on your project group.
Choosing the Course
When to take
You'll receive the most benefit if you take it earlier on so that you can apply the knowledge and experience from this class in other classes with large group projects (such as CS162). This is a good class to first learn about version control and testing, since other classes don't actually teach you these skills; they just expect you to pick it up yourself.
What next?
There are a few grad classes that expand on the testing and verification portion of the class, but they aren't offered very often.
Usefulness for Research or Internships
This class probably isn't sufficient in and of itself as internship prep, however the experience you get will definitely make you better at working in a team environment, which companies/professors look for.
Additional Comments/Tips
Last edited: Summer 2020