<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      現代軟件工程 教課心得

      現實世界是最好的老師, 我們這些叫 “老師” 的人, 充其量是個助教。 但是有些助教卻不讓學生見到老師。

      ****************

      老師都想把課教好, 學生都想把課學好. 但是我們常常看到一個學期過后, 老師, 學生都有很多抱怨 (例如:  各種良好愿望和計劃在實施中的問題).  看了上面的例子, 我腦海中浮現這樣的圖畫:

      游泳教練認為經過各項基本訓練,  學員在第三年的時候, 應該達到了能組隊游泳渡江的能力, 于是教練幻想這樣的畫面:

      imageimageimage

       

      期望學生們綜合運用平時訓練獲得的能力, 組成團隊, 互相幫助, 自主學習, 集體渡江成功, 老師和TA 只用在小船上實施必要的救助即可.

       

      但是良好的愿望碰到了尷尬的現實,這是老師在操作系統課上發現的現實:

      1. 特別能抄襲被確認抄襲的人次歷史之最,是往屆數倍
      2. 特別能放棄。抄襲無門后,就大片地放棄作業,人數也是歷史之最,往屆數倍
      3. 特別少交流。網上論壇里的討論,無論數量還是質量都是史上最低
      4. 特別能應試。雖然發帖少,但詢問評分細節的帖子卻是史上最多
      5. 特別缺驚艷。即便是獨立完成作業且拿滿分的同學,其中也難以見到往屆哪種處處驚艷的效果,很多人都只是應付,看不到任何激情。

      我不知道在大江大河中游泳, “抄襲, 應試” 是怎么實現的, 所以無法類比。 放棄倒是很好類比,  很多 “游泳健兒”到了江邊, 找各種借口 - 不游了!

      大學生都有一定的閱歷和自學能力, 他們通常能很容易地掌握下圖中第一步到第四步。  但是社會要求往往是第五步 - “精通”。 這第四步到第五步之間有一個很大的鴻溝。  要跨過這個溝, 學生要學一些比較乏味而且貌似不太相干的內容,  例如馬的骨骼結構,  若干原理, 若干基礎實踐課程如素描等等。 老師怎么創造一種學習/實踐/反饋的環境, 讓學生能通過各種手段跨過這個溝。 (參考 卓越大學教師的建議).

      在我教的課中, 絕大部分學生都下河里真正地游了好幾次,  還完成了一次團體橫渡江河的挑戰。  他們感覺很累, 但是也很有收獲, 算是體會到了實際做軟件是怎么回事。  下面是我教 <現代軟件工程> 的一些心得:

      1. 和領導溝通: 獲得各位領導的支持 - 您想培訓什么樣的學生, 是世界一流, 還是中國一流, 還是本省二流?  有什么樣的期望, 就有什么樣的課程設計。  我上課的學校中, 它們都把自己定位為世界一流, 或中國一流, 那我就要用世界一流和中國一流的標準來要求同學們, 否則我就是不稱職的。    要和本課的 TA  就怎么教好課程達成一致意見。  (我知道很多系領導會說無資金支持 TA,  我認為這是無能的借口 - 非不能也, 是不為也)。明確告訴利益相關者, 這門課實際負擔是多少, 估計有多少人會不及格。
      2. 和同學溝通: 開門見山, 在第一堂課上花時間講述 老師期望的師生關系是什么 [是運動員和教練的關系] ,  這堂課如何打分 [1/n 的給分體系, 遲交作業 0 分, 不叫作業倒扣分], 最終分數的分布概況  (20% 優秀,  10% 不及格或剛及格,  其余在二者之間線性分布)  (鏈接)  想學習的學生知道如何努力, 想混的學生也知道怎么才能混過去, 想退課的也可以馬上退掉。
      3. 簡明公開的規則: TA 在每一次作業之后, 都公布所有同學 (只顯示學號后幾位) 目前的得分, 以及推算出來的最終分數。 根據分數的分布情況,  TA 通常把 10% 的同學劃到不及格這一欄中。 簡化TA 的工作, 晚交作業一律 0 分, 不必說情。 
      4. 循序漸進: 了解學生的能力,  不出意外的話, 你會發現學生的動手能力很差!  Smile  學生之間從來沒有正經合作過! Smile  你想讓他們馬上搞一個團隊有各種角色, 完成一個實際的項目是不可能的!  怎么辦? 我這門課設計了三種項目:
        1. 個人項目  (讓每個人練練自己的手藝, 同時實踐項目管理的工具和操作 check-in, check-out, 簡單的測試用例設計)
        2. 兩人項目  (兩個人合作完成一個比較難的作業, 鍛煉交流能力, 合作能力。 同時練習軟件工程中的 “結對編程”, 接口設計, 代碼復審, 簡單的界面設計, 同時讓學生有機會學到不同語言, 不同的框架設計, 不同的表現層的實現 – WPF, Flash, Silverlight 等 )  這類項目可以安排兩次, 每次換人做。
        3. 團隊項目 (真正的考驗, 但是有了前面的準備和鍛煉, 他們已經可以到河里游泳了)
      5. 讓學生有更多的控制, 激發他們的自我管理意識。 在這三種項目中, 學生對項目的控制越來越多, 要相信學生想做好, 能夠做好:
        1. 個人項目: 學生可以選擇編程語言, 其它由老師指定。
        2. 兩人項目: 學生可以選擇語言, 界面,
        3. 團隊項目: 學生可以選擇做什么, 各人的角色, 如何實現, 如何推廣。
      6. 如何處理學生討價還價? 很多學生給老師說:我基礎差,軟件工程課能不能高抬貴手,意思意思就行了,不要寫那么復雜的軟件。 回答:這就是本校本專業的底線。  給學生控制和希望:  有些學生某個項目搞砸了, 怎么辦? 有的學生代碼經驗特別少,怎么辦? 沒問題,課程中有一定的分數是各人自由發揮的能掙到的,  例如主動為大家服務寫測試工具, 寫更多的讀書報告, 寫深入的分析報告,等等, 都能掙到分數 -- 軟件工程不光是寫代碼。另外,要讓學生小組之間互相評比,這樣就把矛盾從“老師 -- 學生” 之間不斷討價還價變成 “學生 - 學生” 互相比拼。
      7. 怎么教,怎么學? 老師不能陷入傳統的 “老師 - 學生” 模式出不來,在這個模式下, 老師不斷地 "敲黑板" - 同學們,敏捷的12原則要記住啊,期末要考! 但是學生未必領情,敲碎黑板又如何?   老師可以引入別的模式, 例如組織結對編程來促進 【學生 - 學生】的互動和學習, 通過團隊項目,團隊貢獻分來促進 【學生 - 團隊】的學習; 通過團隊評比來促進 【團隊-團隊】的學習; 通過公開的博客和公開的軟件管理和發布來促進 【團隊 - 社會】的互動。   學生不能光干活不思考, 同學們要不斷總結 – alpha, beta 階段都要做正式的 回顧和總結, 并發布博客。 要求學生自己先看教材, 然后發博客提問題, 都是成年人了, 應該能提出一些問題來; 課程結束的時候看看自己最初提出的問題, 估計自己都可以回答了 - 這不就是上課的作用么? 學生團隊要互相評比,評比的時候不要打分(A組 90 分,B組 89 分...) 因為這樣分數會太接近。 要采取無并列排名次的方法, 每個小組給別的小組排名次,同時寫140 以上的點評(優點,缺點,閃光點),排名次之后,可以看到大家公認的優秀小組得分會遠遠超過那些無所作為的小組。
      8. 有人打醬油怎么辦? 團隊項目有分數, 團隊中每個人都得一樣的分數, 打醬油的成員也得同樣多的分數, 怎么辦? 給每個團隊一定的自由分配的分數, 讓每個團隊決定如何分配這些分數 (分數不能平均分配, 幸苦工作的人可以得高分, 決定打醬油, 不在乎分數的人可以得低分)。 每個人的付出和結果能更好地結合起來。 在一個階段結束后,每個團隊必須有至少一個成員離開,自己尋找新的團隊。 這也是給團隊非常實際地體驗了社會上如何做績效評估, 團隊管理, 如何衡量 “我在團隊中的地位”, “我在別人心目中的分量”, "我的競爭力"。
      9. 用客觀數據來評分: 老師太忙, 不能仔細地批閱每一次作業, 怎么辦?   把學生的作業做成比賽, 比程序速度, 比測試用例的數量, 比博客的閱讀量… 相對的分數自然就出來了。 團隊項目一定要做解決實際問題, 能公開發布和使用的項目, 這樣有很多用戶給學生們評分。  例如一組同學的魔方程序有3 萬多下載; 同一個班級的另一組同學的軟件有 10 個下載, 誰好誰壞?
      10. 模擬實戰: 據我了解, 大部分軟工的”項目”是同學們從頭寫的 1.0版本, 但是IT 行業的絕大部分軟件是有很長歷史的系統, 不接觸老系統,  如何學到軟工的各種原理和實踐?   只要肯想辦法, 總是有很多途徑可以模擬實戰的:
      1. 把歷屆學生的項目都用版本控制軟件管起來, 這樣后來的學生可以在前人的基礎上繼續開發。
      2. 鼓勵同學在別人的基礎上開發 (開源, 以前的項目, 等等)
      3. 在項目的alpha 和 beta 階段之間, 讓部分同學跳槽, 從一個小組換到另一個小組中,  這樣同學們就有很多機會親身體會到 文檔的重要性, 如何理解老代碼, 等等軟件工程的好玩的事。

      Deadline - 學生生活是什么驅動的? 是對老師規定的服從, 還是對技術的熱情, 還是為中華民族第N次偉大復興? 還是deadline?  大部分人的作業都是要等到交作業的前一天夜里搞出來的。 在軟件工程課上, 一個晚上是搞不出來可以使用的團隊項目的, 為此課程設置了很多檢查點:

       

      1. 每個階段的結束都要求公開發布博客
      2. 要求項目有兩個公開發布 (alpha,  beta)
      3. 要求每個階段要有 10 天的 SCRUM 會議, 并把每次會議結果 (每個成員昨天做了什么,今天打算做什么, 碰到什么障礙) 列出來, 并用軟件工程的工具自動生成進度表。 進度表的例子:

      image

      沒有這些檢查點, 同學們會在最后演示的時候告訴你 - 我們盡力了, 搞了三天,  這次給我們及格吧, 我們以后一定會繼續改進的!然后他們再也沒有消息了。  

      不要盲目追求新:  1999年, 有人問軟件工程專家 David Parnas: 將來會有什么令人興奮的軟件工程技術出現? 答: 最有用的技術不在將來,
      而是已經在我們中間好些年了, 只不過我們沒好好用。軟件工程課要把那些久經考驗的原則和技術交給學生, 而不能停留在浮光掠影地介紹當前最熱門的做法。 老師要展現給學生的是, 軟件工程的原則,技術仍然能解決前軟件開發的各種挑戰 - 老師自己有這個信心和經驗么?

       

      附: 教學計劃  (http://www.rzrgm.cn/xinz/archive/2011/11/27/2265425.html)

      北航的軟件工程教學計劃:

        http://www.rzrgm.cn/SivilTaram/p/5656582.html

      教學計劃總長: 16 周 (扣除放假之后)

      授課: 12 - 14 次 老師授課

      輔導課: 6 - 8 次 (輔導/交流/演示) 學生主動匯報進展, 心得, 提出問題, 老師及專業人士給予輔導。

      學生項目: 個人項目, 結對編程項目 (兩個), 團隊項目

      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 NABCD (項目可行性分析)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 (最終匯報, 復審)  
      posted @ 2012-01-15 15:49  SoftwareTeacher  閱讀(5507)  評論(4)    收藏  舉報
      主站蜘蛛池模板: 无码国产偷倩在线播放老年人| 国产一区二区三区不卡视频| 国产精品久久露脸蜜臀| 无码av中文字幕免费放| 一本高清码二区三区不卡| 国产精品中文字幕日韩| 丰满妇女强制高潮18xxxx| 99riav国产精品视频| 无遮挡粉嫩小泬久久久久久久| 中文字幕人妻无码一夲道| 国产成人精品无缓存在线播放| 久青草视频在线视频在线| 在线观看成人永久免费网站 | 一区二区三区四区黄色片| 男女xx00上下抽搐动态图| 国产超高清麻豆精品传媒麻豆精品 | 精品无码国产自产拍在线观看蜜 | 久久九九精品99国产精品| 婷婷色香五月综合缴缴情香蕉| 99久久精品费精品国产一区二区| 丰满人妻熟妇乱又伦精品劲 | 国产精品十八禁在线观看| 国产一区二区三区黄色片| 日韩精品一区二区三区影院| 2020年最新国产精品正在播放| 日韩丝袜亚洲国产欧美一区| 国产日韩精品一区在线不卡| 久久精品国产亚洲av高| 我国产码在线观看av哈哈哈网站 | 九九热在线视频精品免费| 亚洲欧美高清在线精品一区二区 | 欧美成人免费一区二区三区视频| 精品国产午夜理论片不卡| 衡南县| 日本中文字幕有码在线视频 | 欧美福利电影A在线播放| 日韩中文字幕综合第二页| 猫咪AV成人永久网站在线观看| 人成午夜免费视频无码| 温州市| 久久99精品久久久久久9|