现代软件工程 教课心得
現(xiàn)實世界是最好的老師, 我們這些叫 “老師” 的人, 充其量是個助教。 但是有些助教卻不讓學(xué)生見到老師。
****************
老師都想把課教好, 學(xué)生都想把課學(xué)好. 但是我們常常看到一個學(xué)期過后, 老師, 學(xué)生都有很多抱怨 (例如:? 各種良好愿望和計劃在實施中的問題).? 看了上面的例子, 我腦海中浮現(xiàn)這樣的圖畫:
游泳教練認(rèn)為經(jīng)過各項基本訓(xùn)練,? 學(xué)員在第三年的時候, 應(yīng)該達(dá)到了能組隊游泳渡江的能力, 于是教練幻想這樣的畫面:
?
期望學(xué)生們綜合運用平時訓(xùn)練獲得的能力, 組成團隊, 互相幫助, 自主學(xué)習(xí), 集體渡江成功, 老師和TA 只用在小船上實施必要的救助即可.
?
但是良好的愿望碰到了尷尬的現(xiàn)實,這是老師在操作系統(tǒng)課上發(fā)現(xiàn)的現(xiàn)實:
我不知道在大江大河中游泳, “抄襲, 應(yīng)試” 是怎么實現(xiàn)的, 所以無法類比。 放棄倒是很好類比,? 很多 “游泳健兒”到了江邊, 找各種借口 - 不游了!
大學(xué)生都有一定的閱歷和自學(xué)能力, 他們通常能很容易地掌握下圖中第一步到第四步。 ?但是社會要求往往是第五步 - “精通”。 這第四步到第五步之間有一個很大的鴻溝。 ?要跨過這個溝, 學(xué)生要學(xué)一些比較乏味而且貌似不太相干的內(nèi)容, ?例如馬的骨骼結(jié)構(gòu), ?若干原理, 若干基礎(chǔ)實踐課程如素描等等。 老師怎么創(chuàng)造一種學(xué)習(xí)/實踐/反饋的環(huán)境, 讓學(xué)生能通過各種手段跨過這個溝。 (參考 卓越大學(xué)教師的建議).
在我教的課中, 絕大部分學(xué)生都下河里真正地游了好幾次,? 還完成了一次團體橫渡江河的挑戰(zhàn)。? 他們感覺很累, 但是也很有收獲, 算是體會到了實際做軟件是怎么回事。? 下面是我教 <現(xiàn)代軟件工程> 的一些心得:
Deadline - 學(xué)生生活是什么驅(qū)動的? 是對老師規(guī)定的服從, 還是對技術(shù)的熱情, 還是為中華民族第N次偉大復(fù)興? 還是deadline?? 大部分人的作業(yè)都是要等到交作業(yè)的前一天夜里搞出來的。 在軟件工程課上, 一個晚上是搞不出來可以使用的團隊項目的, 為此課程設(shè)置了很多檢查點:
?
沒有這些檢查點, 同學(xué)們會在最后演示的時候告訴你 - 我們盡力了, 搞了三天,? 這次給我們及格吧, 我們以后一定會繼續(xù)改進(jìn)的!然后他們再也沒有消息了。 ?
不要盲目追求新:? 1999年, 有人問軟件工程專家 David Parnas: 將來會有什么令人興奮的軟件工程技術(shù)出現(xiàn)? 答: 最有用的技術(shù)不在將來,
而是已經(jīng)在我們中間好些年了, 只不過我們沒好好用。軟件工程課要把那些久經(jīng)考驗的原則和技術(shù)交給學(xué)生, 而不能停留在浮光掠影地介紹當(dāng)前最熱門的做法。 老師要展現(xiàn)給學(xué)生的是, 軟件工程的原則,技術(shù)仍然能解決前軟件開發(fā)的各種挑戰(zhàn) - 老師自己有這個信心和經(jīng)驗么?
?
附: 教學(xué)計劃? (http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html)
教學(xué)計劃總長: 16 周 (扣除放假之后)
授課: 12 - 14 次 老師授課
輔導(dǎo)課: 6 - 8 次 (輔導(dǎo)/交流/演示) 學(xué)生主動匯報進(jìn)展, 心得, 提出問題, 老師及專業(yè)人士給予輔導(dǎo)。
學(xué)生項目: 個人項目, 結(jié)對編程項目 (兩個), 團隊項目
| Week | Date | Lecture (授課) | Talk (輔導(dǎo)/交流/演示) | 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 (代碼質(zhì)量的各種標(biāo)準(zhǔn)) | SilverLight | pair project (1) 結(jié)對項目 (1) |
| 4 | 11/22 | collaboration (兩人合作), influence (影響說服別人的多種方式) | P1 review | ? |
| 5 | 11/29 | Team-CMMI (團隊結(jié)構(gòu), 文化, 成熟度模型 CMMI)Development Process (軟件開發(fā)的各種模式) | ? | pair project (2) 結(jié)對項目 2 |
| 6 | 12/6 | Innovation (軟件業(yè)的創(chuàng)新)Myths of Innovation (創(chuàng)新的迷思),Innovator's dilemma (創(chuàng)新者的兩難) | P2 review | ? |
| 7 | 12/13 | NABC (項目可行性分析)Spec and PM(軟件規(guī)格說明書, 項目經(jīng)理) | Book Report | Team Project Kick Off 團隊項目開始 |
| 8 | 12/20 | Testing(測試) | ? | Milestone 1 (里程碑 1) |
| 9 | 12/27 | Proj. Mgmt w/ TFS (用TFS 進(jìn)行項目管理) | ? | daily scrum |
| 10 | 1/3 | Scenarios (基于場景的設(shè)計) | ? | daily scrum |
| 11 | 1/10 | Release (軟件的發(fā)布) | ? | alpha release |
| 12 | 1/17 | MSF (微軟軟件解決方案框架) | Review | Review/BugBash |
| 13 | 1/24 | Dev-History (微軟軟件開發(fā)管理的歷史) | feedback | Milestone 2 (里程碑2) |
| n/a | 1/31 | Holiday | ? | Holiday |
| n/a | 2/7 | Holiday | ? | Holiday |
| 14 | 2/14 | Risk Mgmt (軟件項目的風(fēng)險管理) | 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 (最終匯報, 復(fù)審) | ? |
總結(jié)
以上是生活随笔為你收集整理的现代软件工程 教课心得的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python根据参数判断性别准吗_根据数
- 下一篇: 商业拜访需要注意的13个小细节