现代软件工程 教学计划 适应两种难度和重点
現(xiàn)代軟件工程 教學計劃?
經(jīng)過 2007 - 2018 年,30個不同學校的實踐后, 《構建之法》在大學的兩種教法已經(jīng)出現(xiàn)了, 這兩種教學計劃適應于兩種難度和重點。? 下面我們具體介紹這兩種計劃。?
1. 軟件工程導論(適合大一下的學生,在學過一門編程課之后,代碼量:1000 行)
2. 現(xiàn)代軟件工程 (適合大三下的學生,先修課要求: 學過編程,數(shù)據(jù)結構,數(shù)據(jù)庫+操作系統(tǒng)+編譯原理+網(wǎng)絡 等課程, 有 4000 行以上的代碼量)
1. 軟件工程導論
特點:這是學生學過一門編程課之后第一次完整接觸到軟件工程的整個流程。
目標:讓學生對軟件工程有一個初步完整的了解。
不要求:軟件部署到大規(guī)模實際運行的平臺上。?
| Week | Lecture (授課) | 輔導/交流/演示 | 項目 | 作業(yè) |
| 1 | Intro (課程簡介, 分組)?? | ?使用代碼倉庫 (github),按照工具,寫博客 | Pair-Project (結對項目) | 博客:課程準備 |
| 2 | Software Engineering (軟件工程概論),??Unit Test (單元測試), Performance Analysis (效能分析)? | 博客:快速閱讀全書并提問 博客:結對項目總結 | ||
| 3 | Personal Software Process (個人軟件流程 PSP), Code Quality/convention (代碼質(zhì)量的各種標準,代碼規(guī)范,設計規(guī)范) collaboration (兩人合作), influence (影響別人的方式) | 結對項目復審 | ? | |
| 4 | Team Structure & Development Process (軟件團隊的模式和開發(fā)的各種模式) | 如何使用快速原型設計工具 (墨刀 等) | ?博客:用快速原型設計工具 | |
| 5 | Innovation (軟件業(yè)的創(chuàng)新)?? Myths of Innovation (創(chuàng)新的迷思),?? Innovator's dilemma (創(chuàng)新者的兩難) | 討論熱門創(chuàng)新產(chǎn)品 | 博客:分析熱門產(chǎn)品 | |
| 6 | NABCD (項目可行性分析)??Spec and PM??(軟件規(guī)格說明書, 項目經(jīng)理)? | 團隊項目開始 (alpha) | 博客:團隊項目NABCD | |
| 7 | Scenarios (基于場景的設計), 軟件的 UX/UI | daily scrum ( 5 天 ) | 博客:scrum 每天一篇 | |
| 8 | Testing??(測試) | Alpha 發(fā)布(產(chǎn)品原型) | 博客:測試報告 | |
| 9 | MSF (微軟軟件解決方案框架), CMMI 軟件成熟度模型 Release (軟件的發(fā)布,事后諸葛亮會議) | 各個小組互評Alpha 成績 小組成員流動? | 團隊項目 beta 開始 | 博客:點評各組項目 博客:小組beta 計劃,新成員介紹 |
| 10 | 請業(yè)界人士,研究生來交流 | daily scrum ( 5 天 ) | 博客:每天scrum 報告 | |
| 11 | 回答自己最初看書提出的問題,閱讀文獻報告 | daily scrum?( 5 天 ) | 博客:每天scrum 報告 | |
| 12 | ?(可選)軟件工程專題深入探討 | beta release | 博客:項目 beta 報告 | |
| 13 | Final Review (最終匯報, 復審,所有分數(shù)匯總) | 博客:個人軟件工程總結 | ||
| 14 | (緩沖) | (緩沖) | (緩沖) | ? |
2. 現(xiàn)代軟件工程, 軟件工程實踐
?(下面表格是 2010 年設計的教學安排, 之后有不少學校進行了改進, 例如福州大學軟件工程課, 請參考。 )
這是一個16周 《現(xiàn)代軟件工程》 的課程安排:
? ? 教學計劃總長: 16 周 (扣除放假之后)
? ? 授課: 14 次?? 老師授課
? ? 輔導課: 9 次? (輔導/交流/演示)? 學生主動匯報進展, 心得, 提出問題, 老師及專業(yè)人士給予輔導。
? ? 學生項目:? 個人項目, 結對編程項目, 團隊項目(兩個階段)
| Week | Lecture (授課) | Talk (輔導/交流/演示) | Project | 作業(yè) |
| 1 | Intro (課程簡介, 分組)? I-project 個人項目介紹 | ?使用代碼倉庫 (github),博客 | i-project (個人項目) 單元測試,效能分析 | ? |
| 2 | Software Engineering (軟件工程概論),? Unit Test (單元測試), Performance Analysis (效能分析)? | ?快速閱讀全書并提問,發(fā)博客 | ? | ? |
| 3 | Personal Software Process (個人軟件流程 PSP), Code Quality/convention (代碼質(zhì)量的各種標準,代碼規(guī)范,設計規(guī)范) | ? | Pair project 結對項目? | ? |
| 4 | collaboration (兩人合作), influence (影響說服別人的多種方式) | P1 review | Pair project 結對項目 總結? | ? |
| 5 | Team Structure & Development Process (軟件團隊的模式和開發(fā)的各種模式) | ?如何使用快速原型設計工具 (墨刀 等) | ? | ? |
| 6 | Innovation (軟件業(yè)的創(chuàng)新)? Myths of Innovation (創(chuàng)新的迷思),? Innovator's dilemma (創(chuàng)新者的兩難) | 分析目前熱門軟件產(chǎn)品 | ?結對項目 2, 分析目前熱門軟件產(chǎn)品并發(fā)表博客 | ? |
| 7 | NABC (項目可行性分析)??Spec and PM??(軟件規(guī)格說明書, 項目經(jīng)理)? | ? | Team Project Kick Off 團隊項目開始 Alpha 階段 | ? |
| 8 | Scenarios (基于場景的設計), 軟件的 UX/UI | ? | daily scrum ( 5 天 ) | ? |
| 9 | Testing??(測試) | ? | daily scrum?( 5 天 ) | ? |
| 10 | MSF (微軟軟件解決方案框架), CMMI 軟件成熟度模型 Release (軟件的發(fā)布,事后諸葛亮會議) | 各個小組互評Alpha 成績 小組成員流動? | alpha 階段發(fā)布, 總結 | ? |
| 11 | Dev-History (微軟軟件開發(fā)管理的歷史,請業(yè)界人士來交流) | ? | Beta階段? daily scrum ( 5 天 ) | ? |
| 12 | Risk Mgmt (軟件項目的風險管理) | ? | daily scrum?( 5 天 ) | ? |
| 13 | ?(可選)軟件工程專題深入探討, 如:人工智能應用開發(fā) | 回答自己最初看書提出的問題,閱讀文獻報告 | beta release | ? |
| 14 | (可選)個人選作額外的作業(yè) | Final Review (最終匯報, 復審,所有分數(shù)匯總) | ? | ? |
| 15 | (可選, 緩沖) | ? | ? | ? |
教材:《構建之法》?
其他參考書見書單??
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的现代软件工程 教学计划 适应两种难度和重点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《梦断代码》读后感 - 驱动,责任,交
- 下一篇: 斯皮尔曼相关系数_惊艳!JASP相关系数