屈指一算, 我已经讲了3年 <现代软件工程>, 教了 4 个班。
2007 - 2009 清华大学理论计算机科学研究中心 (姚班)
2009 北航计算机系
还有在北大合作的教学:
2007 - 2009 北京大学软件学院 (课程名叫 - 微软软件实现技术, 我是讲师之一)
由于反响不错, 今年秋天开始, 我给中科大的学生上课. 软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较乏味的课程。 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的。 经过几年的探索, 我总结了在17周的时间内让同学们通过 “做中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划。
这是给中科大 《现代软件工程》 的课程安排:
开始: 2010/11/1
结束: 2011/3/14
教学计划总长: 17 周 (扣除放假之后)
授课: 14 次 老师授课
辅导课: 9 次 (辅导/交流/演示) 学生主动汇报进展, 心得, 提出问题, 老师及专业人士给予辅导。
学生项目: 个人项目, 结对编程项目 (两个), 团队项目
Week | Date | Lecture (授课) | Talk (辅导/交流/演示) | Project |
1 | 11/1 | Intro (课程简介, 分组) I-project 个人项目介绍 | i-project (个人项目) | |
2 | 11/8 | Software Engineering (软件工程概论), Unit Test (单元测试) | ||
3 | 11/15 | Personal Software Process (个人软件流程 PSP), Code Quality (代码质量的各种标准) | SilverLight | pair project (1) 结对项目 (1) |
4 | 11/22 | collaboration (两人合作), influence (影响说服别人的多种方式) | P1 review | |
5 | 11/29 | Team-CMMI (团队结构, 文化, 成熟度模型 CMMI) Development Process (软件开发的各种模式) | pair project (2) 结对项目 2 | |
6 | 12/6 | Innovation (软件业的创新) Myths of Innovation (创新的迷思), Innovator's dilemma (创新者的两难) | P2 review | |
7 | 12/13 | NABC (项目可行性分析) Spec and PM (软件规格说明书, 项目经理) | Book Report | Team Project Kick Off 团队项目开始 |
8 | 12/20 | Testing (测试) | Milestone 1 (里程碑 1) | |
9 | 12/27 | Proj. Mgmt w/ TFS (用TFS 进行项目管理) | daily scrum | |
10 | 1/3 | Scenarios (基于场景的设计) | daily scrum | |
11 | 1/10 | Release (软件的发布) | alpha release | |
12 | 1/17 | MSF (微软软件解决方案框架) | Review | Review/BugBash |
13 | 1/24 | Dev-History (微软软件开发管理的历史) | feedback | Milestone 2 (里程碑2) |
n/a | 1/31 | Holiday | Holiday | |
n/a | 2/7 | Holiday | Holiday | |
14 | 2/14 | Risk Mgmt (软件项目的风险管理) | Book Report | daily scrum |
15 | 2/21 | daily scrum | ||
16 | 2/28 | UI/UX report | beta release | |
n/a | 3/7 | Postmortem (软件项目的回顾与反思) | ||
17 | 3/14 | Final Review (最终汇报, 复审) |
教材 (3本, 同学选择一本, 同时借阅另外两本) :
1. Rapid Development Steve McConnell (ISBN 1-55615-900-5)
中文版 快速软件开发 斯蒂夫·迈克康奈尔 著 译者: 席相霖 等 ISBN 9787505372856
2. Code Complete (2nd Ed) Steve McConnell ISBN: 9780735619678
中文版 代码大全 (第二版) 斯蒂夫·迈克康奈尔 ISBN: 7121022982
3. 移山之道 – VSTS 软件开发指南 邹欣 (ISBN: 9787121071485)
主要参考书:
Dreaming in Code by Scott Rosenberg, ISBN: 9781400082469
中文版《梦断代码》, 译者 韩磊, ISBN: 9787121066795
其他参考书见书单 <link>