云计算与软件工程 · 第 I 部分(2017春)

随堂模式

  • 什么是随堂模式?

    随堂模式课程一般为每学期一轮次,课程每周更新,作业、考试有截止时间,由课程提供方老师、助教指导,课程完结,成绩由老师确认后,统一发放证书。

  • 什么是自主模式?

    自主模式课程常年开放加入,课件全部开放,作业、考试无截止时间,有学堂在线招募选拔的助教指导,考核通过即可自动获得证书。

来自于: 加州大学伯克利分校 | 分类: 计算机(624)

课程描述

CS169.1x讲授设计可持久化软件的基础知识,利用敏捷开发技术以及 Ruby on Rails 来开发云服务 (SaaS)。

什么是认证证书?
免费学习
认证学习
名师签名
实名认证
权威性
纸质证书
付费购买
免费赠送

课程简介

CS169.1x讲授设计可持久化软件的基础知识,利用敏捷开发技术以及 Ruby on Rails 来开发云服务 (SaaS)。 学生们将了解 SaaS 对抗成品软件的新挑战和机遇。他们将了解并将基础编程技术应用于一个简单的 SaaS 应用的设计、开发、测试及公共云部署。学生们将使用同类最佳的工具,支持行为驱动设计、用户故事、测试驱动开发、快速及结对编程等现代开发技术。学生们将学习如何利用元程序设计和反射机制等现代编程语言特性提高编程效率和代码可维护性。 学生们将进行每周编程项目和测验。成功完成作业且分数合格者将获得荣誉证书。 本期课程将使用2013年10月修改后的全新视频、两项新课外作业和全新考题。 学堂在线对此门课程进行了完全的汉化,包括中文字幕、中文习题等。同时清华的助教将全程进行中文答疑和辅导。

展开

课程章节

课程概览
课程介绍
软件工程概论
1.1: 软件工程概论 (5:59)
1.2: SAAS,软件即服务 (6:39)
1.3: 面向服务的架构(SOA) (7:48)
1.4: 云计算 (9:32)
1.5: 漂亮的代码与遗留代码 (2:55)
1.6: 软件质量保证 (5:18)
1.7: 生产力:简练、合成、代码重用和工具(8:45)
计划和文档开发与敏捷开发,Ruby入门
2.1: 软件开发过程: 计划 & 文档 (12:16)
2.2: 软件开发过程: 敏捷开发(10:33)
2.3:谬论和陷阱以及第一章总结 (3:04)
2.4: 团队规模 & Scrum (9:42)
2.5: 结对编程 (5:47)
2.6: 概述 & Ruby的三大支柱 (16:41)
2.7: 一切都是对象,每一个操作都是方法调用 (10:28)
2.8: Ruby面向对象 (10:28)
作业0: Ruby入门
小测 0
Ruby 进阶
3.1: 所有的编程都是元编程 (10:38)
3.2: 块:迭代器、函数式习语以及闭包 (10:23)
3.3: mix-in和鸭子类型 (10:31)
3.4: 用Yield构造自己的迭代器 (10:49)
BDD及TDD介绍
4.1: BDD, TDD概览
4.2: FIRST、TDD、以及RSpec入门 (9:25)
作业1:Ruby进阶
SaaS应用的架构和REST
5.1: 客户端-服务器架构; TCP/IP 的介绍 (13:25)
5.2: HTML及CSS (9:33)
5.3: 3层体系结构和横向扩展 (11:53)
5.4: 模型——视图——控制器架构 (8:06)
5.5: 模型,数据库及活动记录 (9:17)
5.6: 路由、控制器与REST (10:38)
5.7: 模板视图与Haml (12:09)
5.8: 总结与思考:SAAS体系结构 (14:41)
作业1.5: The Oracle of Bacon
测验1
Rails入门
使用公共资源
6.1: Rails基础 :从ZERO到CRUD (13:54)
6.2: 调试:当出现错误时 (9:33)
6.3: 模型 :Active Record基础 (12:10)
6.4: 数据库和迁移 (12:59)
6.5: 模型 : 查找、更新和删除 (15:19)
6.6: 控制器和视图 (10:09)
6.7: 表单 (9:33)
6.8: 重定向、 Flash和Session (11:40)
6.9: 完成CRUD:编辑、更新和销毁 (8:27)
6.10: 谬论和陷阱 (5:59)
作业2:Rails入门
敏捷开发的方法
7.1: 度量、代码味道及SOFA (13:03)
7.2: 行为驱动设计与用户故事简介 (7:33)
7.3: 任务点、速率和Pivotal Tracker (9:07)
7.4: SMART用户故事 (5:35)
7.5: 低精度用户界面模型和故事板 (5:14)
7.6: 敏捷开发的成本估计 (4:48)
7.7: 计划文档的视角 (18:37)
7.8: 谬论和陷阱 , BDD的利与弊 (7:13)
7.9: 显式的和隐式的、命令式的和声明式的情景 (7:19)
利用Cucumber及Capybara进行BDD
使用公共资源
8.1: Cucumber和Capybara介绍 (6:33)
8.2: 运行Cucumber和Capybara (6:49)
8.3: 优化Rotten Potatoes (12:52)
作业3:BDD和Cucumber
测验2
使用RSpec进行TDD
9.1: 基于Rails的Rspec (7:31)
9.2: TDD周期:红色——绿色——重构 (10:51)
9.3: 嫁接(Seams) (11:36)
9.4: 预期 (14:04)
9.5 Mocks, Stubs, 以及测试设置 (14:19)
9.6: 夹具和工厂 (10:59)
9.7: 面向模型的TDD以及为Internet建立桩(Stub) (12:00)
9.8: 覆盖率、单元测试与集成测试 (10:23)
9.9: 其它测试方法和术语 (8:27)
9.10: 计划文档的视角 (9:29)
作业4:BDD和TDD周期
测验3
Development
Test Submission HW0
Test Submission HW1
Test Submission HW1.5
Test Submission HW2
Test Submission HW3
Test Submission HW4
Testing
补充视频
Git基础与虚拟机安装
SaaS体系结构
Rails入门
BDD入门

授课教师

  • Armando Fox 加州大学伯克利分校

    Armando Fox是加州大学伯克利分校计算机科学教授,曾在斯坦福大学担任助理教授,并获得斯坦福大学学生会、女工程师学会、美国国家工程荣誉协会颁发的多项教学与辅导奖。他曾协助设计英特尔 Pentium Pro 微处理器,并创建了一家创业公司,将其在加州大学伯克利分校的移动计算相关论文研究进行了成功的商业化。他的电机工程与计算机科学学位来自麻省理工学院、伊利诺伊大学和加州大学伯克利分校,他还是美国计算机协会杰出会员。

  • David Patterson 加州大学伯克利分校

    David Patterson 是加州大学伯克利分校计算机科学Pardee教授,曾获得加州大学伯克利分校杰出教学奖、美国计算机学会卡尔斯顿杰出教育家奖、美国电气与电子工程师协会穆里根教育奖章、美国电气与电子工程师协会本科教学奖。他曾担任伯克利计算机科学部主席、美国计算机研究协会主席、美国计算机协会会长。他最著名的研究项目是精简指令集计算机 (RISC)、独立磁盘冗余阵列 (RAID),以及工作站网络 (NOW)。此外,他还是美国国家工程学院、美国国家科学院院士,入选硅谷工程名人堂、计算机历史博物馆研究员。他的所有学位来自加州大学洛杉矶分校。

  • Sam Joseph 夏威夷太平洋大学

    Sam Joseph 是夏威夷太平洋大学副教授,曾担任夏威夷大学马诺阿分校 (UHM) 副研究员。他曾获得 Raymond-Hide 天体物理学将和东芝奖学金。他通过英国伦敦在线来教授游戏与移动编程与设计、软件工程、科学研究方法。为研究创造幽默的聊天机器人,他组织了 Funniest Computer Ever 竞赛,相关的研究方向还有在线协作学习软件,尤其是远程结对编程。他的天体物理学、认知科学和计算机科学学位来自英国莱斯特大学、英国爱丁堡大学和夏威夷大学马诺阿分校,他是美国计算机协会会员。

精华笔记

精华笔记正在评选中,去看看全部笔记

常见问题

目前还没有常见问题哟!