# UCB CS169: software engineering

## 课程简介

- 所属大学：UC Berkeley
- 先修要求：无
- 编程语言：Ruby/JavaScript
- 课程难度：🌟🌟🌟🌟
- 预计学时：100 小时

伯克利的软件工程课程，不同于很多传统的软件工程课强调各种类图、文档设计 (plan and document 模式)，这门课专注于最近逐渐流行起来的敏捷开发 (Agile Development)模式，利用云平台提供软件即服务 (software as a service)。为此，课程设计者编写了 [Software as a service][Software_as_a_service] 这本教材，通过 Ruby/Rails 框架来阐释 SaaS 这个概念，并且有丰富的配套编程练习。

[Software_as_a_service]: https://github.com/PKUFlyingPig/CS169-Software-Engineering/blob/master/saasbook.pdf

这门课在 [Edx](https://www.edx.org/) 这个由 MIT 和 Harvard 大学发起的在线教育平台全资料开源，大家可以在 Edx 自行搜索 *Agile SaaS Development* 这门课程进行学习。课程内容基本按照教材的顺序带你一步步以敏捷开发的方式搭建一个软件并免费部署在云平台上。

## 课程资源

- 课程网站：<http://www.saasbook.info/courses>
- 课程视频：参见 Edx 课程主页。
- 课程教材：[Software as a service](https://github.com/PKUFlyingPig/CS169-Software-Engineering/blob/master/saasbook.pdf)
- 课程作业：参见 Edx 课程主页。

## 资源汇总

@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 [PKUFlyingPig/CS169-Software-Engineering - GitHub](https://github.com/PKUFlyingPig/CS169-Software-Engineering) 中。
