日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

现代软件工程 教课心得

發(fā)布時(shí)間:2024/1/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 现代软件工程 教课心得 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

現(xiàn)實(shí)世界是最好的老師, 我們這些叫 “老師” 的人, 充其量是個(gè)助教。 但是有些助教卻不讓學(xué)生見到老師。

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

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

游泳教練認(rèn)為經(jīng)過各項(xiàng)基本訓(xùn)練,? 學(xué)員在第三年的時(shí)候, 應(yīng)該達(dá)到了能組隊(duì)游泳渡江的能力, 于是教練幻想這樣的畫面:

?

期望學(xué)生們綜合運(yùn)用平時(shí)訓(xùn)練獲得的能力, 組成團(tuán)隊(duì), 互相幫助, 自主學(xué)習(xí), 集體渡江成功, 老師和TA 只用在小船上實(shí)施必要的救助即可.

?

但是良好的愿望碰到了尷尬的現(xiàn)實(shí),這是老師在操作系統(tǒng)課上發(fā)現(xiàn)的現(xiàn)實(shí):

  • 特別能抄襲。被確認(rèn)抄襲的人次歷史之最,是往屆數(shù)倍
  • 特別能放棄。抄襲無門后,就大片地放棄作業(yè),人數(shù)也是歷史之最,往屆數(shù)倍
  • 特別少交流。網(wǎng)上論壇里的討論,無論數(shù)量還是質(zhì)量都是史上最低
  • 特別能應(yīng)試。雖然發(fā)帖少,但詢問評(píng)分細(xì)節(jié)的帖子卻是史上最多
  • 特別缺驚艷。即便是獨(dú)立完成作業(yè)且拿滿分的同學(xué),其中也難以見到往屆哪種處處驚艷的效果,很多人都只是應(yīng)付,看不到任何激情。
  • 我不知道在大江大河中游泳, “抄襲, 應(yīng)試” 是怎么實(shí)現(xiàn)的, 所以無法類比。 放棄倒是很好類比,? 很多 “游泳健兒”到了江邊, 找各種借口 - 不游了!

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

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

  • 和領(lǐng)導(dǎo)溝通: 獲得各位領(lǐng)導(dǎo)的支持 - 您想培訓(xùn)什么樣的學(xué)生, 是世界一流, 還是中國(guó)一流, 還是本省二流?? 有什么樣的期望, 就有什么樣的課程設(shè)計(jì)。? 我上課的學(xué)校中, 它們都把自己定位為世界一流, 或中國(guó)一流, 那我就要用世界一流和中國(guó)一流的標(biāo)準(zhǔn)來要求同學(xué)們, 否則我就是不稱職的。??? 要和本課的 TA? 就怎么教好課程達(dá)成一致意見。? (我知道很多系領(lǐng)導(dǎo)會(huì)說無資金支持 TA,? 我認(rèn)為這是無能的借口 - 非不能也, 是不為也)。明確告訴利益相關(guān)者, 這門課實(shí)際負(fù)擔(dān)是多少, 估計(jì)有多少人會(huì)不及格。
  • 和同學(xué)溝通: 開門見山, 在第一堂課上花時(shí)間講述 老師期望的師生關(guān)系是什么 [是運(yùn)動(dòng)員和教練的關(guān)系] ,? 這堂課如何打分 [1/n 的給分體系, 遲交作業(yè) 0 分, 不叫作業(yè)倒扣分], 最終分?jǐn)?shù)的分布概況? (20% 優(yōu)秀,? 10% 不及格或剛及格,? 其余在二者之間線性分布)? (鏈接)? 想學(xué)習(xí)的學(xué)生知道如何努力, 想混的學(xué)生也知道怎么才能混過去, 想退課的也可以馬上退掉。
  • 簡(jiǎn)明公開的規(guī)則: TA 在每一次作業(yè)之后, 都公布所有同學(xué) (只顯示學(xué)號(hào)后幾位) 目前的得分, 以及推算出來的最終分?jǐn)?shù)。 根據(jù)分?jǐn)?shù)的分布情況,? TA 通常把 10% 的同學(xué)劃到不及格這一欄中。 簡(jiǎn)化TA 的工作, 晚交作業(yè)一律 0 分, 不必說情。?
  • 循序漸進(jìn): 了解學(xué)生的能力,? 不出意外的話, 你會(huì)發(fā)現(xiàn)學(xué)生的動(dòng)手能力很差!? ? 學(xué)生之間從來沒有正經(jīng)合作過! ? 你想讓他們馬上搞一個(gè)團(tuán)隊(duì)有各種角色, 完成一個(gè)實(shí)際的項(xiàng)目是不可能的!? 怎么辦? 我這門課設(shè)計(jì)了三種項(xiàng)目:
  • 個(gè)人項(xiàng)目? (讓每個(gè)人練練自己的手藝, 同時(shí)實(shí)踐項(xiàng)目管理的工具和操作 check-in, check-out, 簡(jiǎn)單的測(cè)試用例設(shè)計(jì))
  • 兩人項(xiàng)目? (兩個(gè)人合作完成一個(gè)比較難的作業(yè), 鍛煉交流能力, 合作能力。 同時(shí)練習(xí)軟件工程中的 “結(jié)對(duì)編程”, 接口設(shè)計(jì), 代碼復(fù)審, 簡(jiǎn)單的界面設(shè)計(jì), 同時(shí)讓學(xué)生有機(jī)會(huì)學(xué)到不同語(yǔ)言, 不同的框架設(shè)計(jì), 不同的表現(xiàn)層的實(shí)現(xiàn) – WPF, Flash, Silverlight 等 )? 這類項(xiàng)目可以安排兩次, 每次換人做。
  • 團(tuán)隊(duì)項(xiàng)目 (真正的考驗(yàn), 但是有了前面的準(zhǔn)備和鍛煉, 他們已經(jīng)可以到河里游泳了)
  • 讓學(xué)生有更多的控制, 激發(fā)他們的自我管理意識(shí)。 在這三種項(xiàng)目中, 學(xué)生對(duì)項(xiàng)目的控制越來越多, 要相信學(xué)生想做好, 能夠做好:
  • 個(gè)人項(xiàng)目: 學(xué)生可以選擇編程語(yǔ)言, 其它由老師指定。
  • 兩人項(xiàng)目: 學(xué)生可以選擇語(yǔ)言, 界面,
  • 團(tuán)隊(duì)項(xiàng)目: 學(xué)生可以選擇做什么, 各人的角色, 如何實(shí)現(xiàn), 如何推廣。
  • 給學(xué)生控制和希望:? 有些學(xué)生某個(gè)項(xiàng)目搞砸了, 怎么辦? 沒問題,課程中有一定的分?jǐn)?shù)是各人自由發(fā)揮的能掙到的,? 例如主動(dòng)為大家服務(wù)寫測(cè)試工具, 寫更多的讀書報(bào)告, 等等, 都能掙到分?jǐn)?shù)。
  • 學(xué)生怎么學(xué)習(xí)? 不能光干活不反思。 同學(xué)們要不斷總結(jié) – alpha, beta 階段都要做正式的 回顧和總結(jié), 并發(fā)布博客。 要求學(xué)生自己先看教材, 然后發(fā)博客提問題, 都是成年人了, 應(yīng)該能提出一些問題來; 課程結(jié)束的時(shí)候看看自己最初提出的問題, 估計(jì)自己都可以回答了 - 這不就是上課的作用么?
  • 有人打醬油怎么辦? 團(tuán)隊(duì)項(xiàng)目有分?jǐn)?shù), 團(tuán)隊(duì)中每個(gè)人都得一樣的分?jǐn)?shù), 打醬油的成員也得同樣多的分?jǐn)?shù), 怎么辦? 給每個(gè)團(tuán)隊(duì)一定的自由分配的分?jǐn)?shù), 讓每個(gè)團(tuán)隊(duì)決定如何分配這些分?jǐn)?shù) (分?jǐn)?shù)不能平均分配, 幸苦工作的人可以得高分, 決定打醬油, 不在乎分?jǐn)?shù)的人可以得低分)。 每個(gè)人的付出和結(jié)果能更好地結(jié)合起來。 這也是給團(tuán)隊(duì)非常實(shí)際地體驗(yàn)了社會(huì)上如何做 績(jī)效評(píng)估, 團(tuán)隊(duì)管理, 如何衡量 “我在團(tuán)隊(duì)中的地位”, “我在別人心目中的分量”。
  • 用客觀數(shù)據(jù)來評(píng)分: 老師太忙, 不能仔細(xì)地批閱每一次作業(yè), 怎么辦??? 把學(xué)生的作業(yè)做成比賽, 比程序速度, 比測(cè)試用例的數(shù)量, 比博客的閱讀量… 相對(duì)的分?jǐn)?shù)自然就出來了。 團(tuán)隊(duì)項(xiàng)目一定要做解決實(shí)際問題, 能公開發(fā)布和使用的項(xiàng)目, 這樣有很多用戶給學(xué)生們?cè)u(píng)分。? 例如一組同學(xué)的 魔方程序有3 萬多下載; 同一個(gè)班級(jí)的另一組同學(xué)的軟件有 10 個(gè)下載, 誰(shuí)好誰(shuí)壞, 不用老師去查閱代碼了。
  • 模擬實(shí)戰(zhàn): 據(jù)我了解, 大部分軟工的”項(xiàng)目”是同學(xué)們從頭寫的 1.0版本, 但是IT 行業(yè)的絕大部分軟件是有很長(zhǎng)歷史的系統(tǒng), 不接觸老系統(tǒng),? 如何學(xué)到軟工的各種原理和實(shí)踐??? 只要肯想辦法, 總是有很多途徑可以模擬實(shí)戰(zhàn)的:
  • 把歷屆學(xué)生的項(xiàng)目都用版本控制軟件管起來, 這樣后來的學(xué)生可以在前人的基礎(chǔ)上繼續(xù)開發(fā)。
  • 鼓勵(lì)同學(xué)在別人的基礎(chǔ)上開發(fā) (開源, 以前的項(xiàng)目, 等等)
  • 在項(xiàng)目的alpha 和 beta 階段之間, 讓部分同學(xué)跳槽, 從一個(gè)小組換到另一個(gè)小組中,? 這樣同學(xué)們就有很多機(jī)會(huì)親身體會(huì)到 文檔的重要性, 如何理解老代碼, 等等軟件工程的好玩的事。
  • Deadline - 學(xué)生生活是什么驅(qū)動(dòng)的? 是對(duì)老師規(guī)定的服從, 還是對(duì)技術(shù)的熱情, 還是為中華民族第N次偉大復(fù)興? 還是deadline?? 大部分人的作業(yè)都是要等到交作業(yè)的前一天夜里搞出來的。 在軟件工程課上, 一個(gè)晚上是搞不出來可以使用的團(tuán)隊(duì)項(xiàng)目的, 為此課程設(shè)置了很多檢查點(diǎn):

    ?

  • 每個(gè)階段的結(jié)束都要求公開發(fā)布博客
  • 要求項(xiàng)目有兩個(gè)公開發(fā)布 (alpha,? beta)
  • 要求每個(gè)階段要有 10 天的 SCRUM 會(huì)議, 并把每次會(huì)議結(jié)果 (每個(gè)成員昨天做了什么,今天打算做什么, 碰到什么障礙) 列出來, 并用軟件工程的工具自動(dòng)生成進(jìn)度表。 進(jìn)度表的例子:
  • 沒有這些檢查點(diǎn), 同學(xué)們會(huì)在最后演示的時(shí)候告訴你 - 我們盡力了, 搞了三天,? 這次給我們及格吧, 我們以后一定會(huì)繼續(xù)改進(jìn)的!然后他們?cè)僖矝]有消息了。 ?

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

    ?

    附: 教學(xué)計(jì)劃? (http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html)

    教學(xué)計(jì)劃總長(zhǎng): 16 周 (扣除放假之后)

    授課: 12 - 14 次 老師授課

    輔導(dǎo)課: 6 - 8 次 (輔導(dǎo)/交流/演示) 學(xué)生主動(dòng)匯報(bào)進(jìn)展, 心得, 提出問題, 老師及專業(yè)人士給予輔導(dǎo)。

    學(xué)生項(xiàng)目: 個(gè)人項(xiàng)目, 結(jié)對(duì)編程項(xiàng)目 (兩個(gè)), 團(tuán)隊(duì)項(xiàng)目

    WeekDateLecture (授課)Talk (輔導(dǎo)/交流/演示)Project
    111/1Intro (課程簡(jiǎn)介, 分組) I-project 個(gè)人項(xiàng)目介紹?i-project (個(gè)人項(xiàng)目)
    211/8Software Engineering (軟件工程概論),Unit Test (單元測(cè)試)??
    311/15Personal Software Process (個(gè)人軟件流程 PSP), Code Quality (代碼質(zhì)量的各種標(biāo)準(zhǔn))SilverLightpair project (1) 結(jié)對(duì)項(xiàng)目 (1)
    411/22collaboration (兩人合作), influence (影響說服別人的多種方式)P1 review?
    511/29Team-CMMI (團(tuán)隊(duì)結(jié)構(gòu), 文化, 成熟度模型 CMMI)Development Process (軟件開發(fā)的各種模式)?pair project (2) 結(jié)對(duì)項(xiàng)目 2
    612/6Innovation (軟件業(yè)的創(chuàng)新)Myths of Innovation (創(chuàng)新的迷思),Innovator's dilemma (創(chuàng)新者的兩難)P2 review?
    712/13NABC (項(xiàng)目可行性分析)Spec and PM(軟件規(guī)格說明書, 項(xiàng)目經(jīng)理)Book ReportTeam Project Kick Off 團(tuán)隊(duì)項(xiàng)目開始
    812/20Testing(測(cè)試)?Milestone 1 (里程碑 1)
    912/27Proj. Mgmt w/ TFS (用TFS 進(jìn)行項(xiàng)目管理)?daily scrum
    101/3Scenarios (基于場(chǎng)景的設(shè)計(jì))?daily scrum
    111/10Release (軟件的發(fā)布)?alpha release
    121/17MSF (微軟軟件解決方案框架)ReviewReview/BugBash
    131/24Dev-History (微軟軟件開發(fā)管理的歷史)feedbackMilestone 2 (里程碑2)
    n/a1/31Holiday?Holiday
    n/a2/7Holiday?Holiday
    142/14Risk Mgmt (軟件項(xiàng)目的風(fēng)險(xiǎn)管理)Book Reportdaily scrum
    152/21??daily scrum
    162/28?UI/UX reportbeta release
    n/a3/7Postmortem (軟件項(xiàng)目的回顧與反思)??
    173/14?Final Review (最終匯報(bào), 復(fù)審)?

    總結(jié)

    以上是生活随笔為你收集整理的现代软件工程 教课心得的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。