# UCB CS169: software engineering

## Descriptions

- Offered by: UC Berkeley
- Prerequisites: None
- Programming Languages: Ruby/JavaScript
- Difficulty: 🌟🌟🌟🌟
- Class Hour: 100 hours

This is Berkeley's software engineering course. Unlike many traditional software engineering courses that emphasize UML diagrams, plans, and documents, this course adopts agile development methodologies and uses the cloud platform to provide software as a service. The instructors wrote a textbook [Software as a service](https://github.com/PKUFlyingPig/CS169-Software-Engineering/blob/master/saasbook.pdf) to explain the concept of SaaS and agile development. Also, there are plenty of programming assignments using Ruby + Rails framework.

This course is available on [Edx](https://www.edx.org/), an online education platform sponsored by MIT and Harvard, where you can search for the course `Agile SaaS Development` and learn it yourself. The course content follows the textbook's order and takes you to build software step by step in an agile development way and deploy it on the cloud platform for free.

## Course Resources

- Course Website: <http://www.saasbook.info/courses>
- Recordings: refer to the course website.
- Textbook: [Software as a service](https://github.com/PKUFlyingPig/CS169-Software-Engineering/blob/master/saasbook.pdf)
- Assignments: refer to the course website.

## Personal Resources

All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS169-Software-Engineering - GitHub](https://github.com/PKUFlyingPig/CS169-Software-Engineering).
