Computer Science 169 — Software Engineering (4 Units)
CS169 is about all the things that go behind software engineering and software development.
- 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
- Four quizzes
- Five homework assignments
- Team project
- No Midterm/Final
- Mandatory Poster Session (during dead week)
Note: Course work typically varies semester to semester
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.
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.