教學理念: 實作在做中學,在團隊中學,采用真實的案例。
教學内容: 結合《建構之法》介紹的軟體工程方法,對一個開源機器人運動庫OROCOS的結構和建構過程進行分析,并組隊開發應用軟體或擴充庫功能。
實驗平台: 貝加萊公司的Delta機器手平台。
團隊作業: 調用KDL庫寫應用程式,實作對機器人的控制。
網上平台: 每名同學需建立一個Github賬号和cnblogs賬号,并加入課程QQ群。
團隊協作: 團隊協作既是為了通過交流和讨論達到共同學習的目的,也是為了軟體建構的實戰需要。
開課時間: 本學期第13周
實踐内容:
1)閱讀《建構之法》,了解軟體開發的流程,在Github上fork OROCOS的KDL庫,觀察OROCOS在Github的曆史記錄,寫讀書筆記和心得。
(OROCOS代碼庫: https://github.com/orocos )
2)在個人電腦建立Linux編譯環境,能夠編譯OROCOS KDL。
3)研究并會使用OROCOS采用的CMAKE等建構工具。
4)學習版本控制,會使用GIT,并在GITHUB上進行練習。
5)分小組閱讀OROCOS源代碼,在部落格上寫代碼閱讀筆記,相關文獻閱讀筆記。
6)複習面向對象的程式設計方法:結合OROCOS代碼讨論繼承封裝多态,泛型程式設計,算法與資料結構等知識點。自選一段代碼分析其如何應用面向對象的程式設計方法。
7)學習設計模式的概念,教師舉例引導,學生在OROCOS中尋找設計模式的應用。
8)基于OROCOS進行課程項目設計,進行軟體需求定義,确定項目經理和項目組分工。
9)掌握單元測試的方法,進行結對程式設計,并進行課堂讨論,代碼送出到Github網站,并發表部落格。
10)課堂或課外學習如何應用MATLAB進行實體模組化實作與OROCOS的協同開發。
11)可在貝加萊的Delta機器人平台上實作機器人控制,有條件的小組也可增加視覺功能。
12)在課程每一階段都對各小組同學的相關進展進行評估,對表現優秀同學給予鼓勵。