現代軟件工程課程html
各個學校的編程/軟工做業列表java
-------算法
-------數據庫
不少老師反映軟件工程的做業題很差出,學生作的「大做業」也是了無新意。怎麼辦?師生們身處轟轟烈烈的軟件產業的大環境,可是在軟件工程課上作的題目倒是很是簡陋,沒有起到應有的做用,這的確是一個頗有諷刺意義的事情。有不少因素致使這一結果,這些因素都是能夠克服的,在這裏再也不囉嗦吐槽了。怎麼出一些有分量,能幫助學生進步的題目? 咱們看到,程序 = 算法 + 數據結構;軟件 = 程序 + 軟件工程,軟件工程的編程做業,是不一樣於 「熟悉某個數據結構/實現某個算法」 這樣的算法課做業的。編程
一個做業並非一上來就貼代碼,UML 圖, 它應該是學生在 「健身學員/健身教練」這一個關係下, 刻意練習,向本身目標前進的具體努力的體現。在做業的一開始,應該寫:數組
這個做業屬於哪一個課程 | <課程的連接> |
這個做業要求在哪裏 | <做業要求的連接> |
我在這個課程的目標是 | <寫上目標> |
這個做業在哪一個具體方面幫助我實現目標 | <寫上具體方面> |
做業正文 .... | 注意代碼要按格式上傳 |
其餘參考文獻 ... |
一個簡單的程序一般是作這種簡單的事情:安全
對輸入數據進行處理,並輸出。markdown
此類 「程序」能夠從幾個維度擴展,成爲頗有鍛鍊價值的軟件工程做業。下面舉例說明。數據結構
從數據方面擴展:模塊化
從需求方面擴展,不少程序的需求都是很是抽象,能夠用數學公式描述和驗證的,例如:「找出數組中的最大值」。下面有幾種擴展的方式:
從用戶的方面擴展,絕大部分大做業都是單機運行,給一個用戶(老師)看一次,看完就萬事大吉。咱們能夠考慮下面的擴展方式:
從軟件構建方面擴展:
下面是一些和閱讀,提問,分析, 設計,總結相關的做業:
和代碼相關的做業:
我的項目:
Java 逐步提升練習(用命令行工具逐步練習 Java 技能)
結對項目:
現代軟件工程 做業 2: 結對項目 (電梯調度設計) (如何自動測試電梯調度程序)
團隊項目:
百花齊放:各個學校的編程/軟工做業列表