CS 169. Software Engineering

Current Schedule (Fall 2016)


Catalog Description: (4 units) Ideas and techniques for designing, developing, and modifying large software systems. Object-oriented and agile design techniques. Design patterns and modeling languages. Specification and documentation. Verification, static analysis, testing, version control, and debugging. Cost and quality metrics and estimation. Project team organization and management. Students will work in teams on a substantial programming project.

Prerequisites: CS 61B and CS 61C, Math 55 or 113.

Course objectives: To have detailed knowledge of the object-oriented software development method, and to be able to apply it. To master the development of a medium size software application from the conception stage to deployment, using modern technologies. To experience working in a team. To master written technical communication.

Topics covered:

General Catalog