1. 程式人生 > >老劉,小城也有PHPer

老劉,小城也有PHPer

軟體工程牽涉的範圍很廣, 同時也是一般院校的同學反映比較空洞乏味的課程 (不信就請看 微博上的軟工)。 但是軟體工程的技術對於投身IT 產業的學生來說是非常重要的。 經過幾年的探索, 我總結了在16周的時間內讓同學們通過 “做中學 (Learning By Doing)” 掌握實用的軟體工程技術的教學計劃。這幾年教書的過程中, 我學習了一些 好老師的建議,  還有些教課的心得, 也對中國大學的 IT 教育有些反饋。近兩年高等教育有不少創新的嘗試, 希望這個軟體工程課也能實踐一些創新的點子。 

迄今有三十多所學校採用了 《構建之法》的理念和教程來教程式設計/軟工課程。 它們大多采用了網上課堂 + 

網上助教的形式,可以前往圍觀, 這是一個老師寫的開課步驟 。

最新版資訊:

這套講義有這樣的特點:

理論和實踐相結合,講現代理論,同時講體現理論的工具,結構緊湊,個人專案/結對專案/團隊專案緊密配合, 能在14 周講完。

面向實戰,強調做中學 (learning by doing), 專案都公開發布,使用者數量和反饋是專案重要的評價標準。學生在公開的社群中獲得反饋。 

結合實際,講人在軟體工程中的不同角色和作用,如:軟體過程, 軟體工具, 軟體人員的技術能力和職業能力。

學生作業涵蓋了閱讀,分析,程式設計,團隊合作,技能評估,作業經過了數年實戰的考驗,聯絡實際,覆蓋面廣。都有相當大的擴充套件性,能適合一般大學和世界一流學校的練習要求。 

擴充套件內容多:  參考書 (20 本),和眾多的參考資料

吸收了眾多高校師生在實際教學中的經驗,每個學期的各種內容都有增量改進。

講義內容:  

1. 概述

2. 個人開發技術

3. 兩人合作

  1. 結對程式設計, 有記載的最早的結對程式設計發生在 1987年3月…
  2. 練習與討論

4. 軟體過程/方法論

  1. 敏捷方法:  酒後的敏捷,  敏捷宣言敏捷原則
  2. 支援軟體過程的工具 (
    TFS
    )  
  3. 練習與討論: 團隊與流程  &  敏捷 & MSF

5. 團隊中的角色與合作

6. 需求

c. 目標和遠景  - 反面例子畫扇面

d. 計劃階段, 軟體估計 (1) (2)

f. 練習與討論

7. 設計和開發 

8. 穩定階段, 釋出和維護

d. 練習與討論

9. 軟體和 IT 業的創新

a. 創新的迷思  連載   (1) (2) (3

c. 創新的時機

d. 魔方的創新 

e. 如何提出靠譜的專案建議 (NABC)

f.  創新的出路 - 走進作坊;  創新的招數

g. 練習與討論

10. 軟體專案的管理

附錄, 參考書, 論文閱讀

作業彙總

說一千道一萬,作業應該是怎麼樣的呢, 請看: 

-------

-------

採用過這門教程的學校列表:

注:排名按照學校所在地大致由北向南排列, 一個學校採用《構建之法》 的情況有多種方式,包括:作為教材,作為參考書,使用課件或參考課件,採用 “做中學”的教學方法,採用有工程經驗的助教幫助教學,等等。我們有老師和助教的微信群,歡迎加入。

在正式編輯出版前,這套講義在下面的學校正式課程中運用過:

2007 – 2010   清華大學理論電腦科學研究中心 (姚班) 主要是大四上學期  2009,  2012    北航計算機系  大三上學期  2010,2011,2012 秋季   中科大-微軟 計算機實驗班 (微軟亞洲研究院創新人才班 ) 大四上學期       

還有在北大合作的教學: 

2007 - 2009 北京大學軟體學院 研究生課程 (課程名叫 - 微軟軟體實現技術, 我是講師之一, 只講了本課件的少部分內容)

學生上課之後感想如何呢? 請看

    2012 部分北航學生的感想:

所有講義, 作業都可以分享給教師用於教學, 只要註明引用來源即可,  不必事先取得同意。

歡迎反饋和意見。