《Software Engineering》 教學培訓小結
一、簡介
- 時間: 2018年 7月9日--7月11日
- 地點: 北京航空航天大學 計算機學院
- 內容:
- 《軟件工程》課程教學組織介紹、
- 項目實踐教學討論與切身體驗、
- AI 工具介紹
- 教學研討
二、 主要收穫
主要談談實踐環節的收穫、經驗及教訓。分結對項目和團隊項目:html
2.1. 結對項目
任務:
主要是採用結對編程的方式完成一個詞頻統計軟件。博客詳細給出了需求 和我結對夥伴是來自武漢地質大學的尹志誠小夥子。
過程:
大概4個小時,完成了一些基本功能。完成的軟件 Github 地址。介紹的博客見尹志誠的博客
收穫:
(我在博客評論中也說起了)
- 結對的助教同窗學習能力強、學習方法好。表如今:對 Java 中不太熟悉的 api 函數,可以快速在線幫助文檔裏找到介紹,快速閱讀並掌握其用法。
- 志誠同窗作事情時刻有提升作事效率的意識。如,咱們兩個對 Intelij IDE 編程其實都不太熟練,可是志誠同窗在編程的過程當中,善於總結一些須要反覆執行的操做,有意識地去百度一下這些操做的 IDE 快捷鍵,可以提升效率。BTW:補充一下,快速註釋的快捷鍵是 command+「/」。
- 志誠同窗項目設計有條理。項目設計討論時,採用了自上而下、逐步求精的思想。而且有意識地在設計過程當中遵循信息掩蔽原則、局部化。如將一開始 放在main.java 中的 map一、map2 移動到 lib.java中;合理調整public、private;有意識地封裝一些反覆使用的函數,如判斷字符是不是字母、數字、分隔符等。固然,如今看來,用函數的方法,影響了程序的性能,由於須要對每一個字符進行判斷,函數調用的開銷很大。下一步應該改成正則表達式。
- 志誠同窗作事有擔當、認真。晚上回去還修復了一個 bug。
教訓:
- 需求文檔讀的不仔細,急於上手編程序。表如今,遺漏了2個功能,最終完成的軟件沒有實現這2個功能。錯失告終對編程獲獎的機會。
- 對一些技術採納方案沒有充分調研。對分詞的處理採用 if... else 方式判斷,處理起來程序結構顯得冗長、複雜;在搜索分詞解決方案時,我已經看到了正則表達式處理方式、而且也知道這種方式更優秀,但因爲依賴與助教寫的傳統的處理方式,懶惰而不肯意說服助教採用較好的方式。
2.2 團隊項目
-
任務:
主要團隊完成『自動評測系統的設計』(alpha/beta階段)。 需求簡要描述
:在軟件工程課程中,我的項目的測試一直是一個難以自動化的問題。不一樣的學校的項目題目不一樣,測試代碼也不同,每一屆助教都須要手動測試或費時費力寫一個自動批處理測試的程序。但在助教們使用的過程當中發現,實際上大部分測試的大部分步驟都是能夠固定下來的,好比說爬取Github倉庫,命令行批處理運行等。但願能開發一個軟工OJ,它的擴展性比較強,能夠稍微定製化。好比能處理數獨、能處理四則運算、地鐵線路規劃這樣的題目做業的自動斷定測試。它不只能支持軟工題目自動評分、還能支持代碼查重、代碼規範評分等,同時其定製化的成本不要太大,最好可以支持助教使用不一樣的語言來利用平臺。java
-
過程:
大概 1.5個半天+1個晚上(寫文檔),完成了一些基本功能原型設計。 介紹的博客見個人博客 和 鄭老師的博客git
-
收穫:
github
- 咱們團隊成員組成全是老師,多數老師有過使用相似系統的經驗。對需求把握比較準確;在考慮需求時,能從現實出發。
- 在設計時,圍繞用戶切實的需求
- 瞭解原型工具構建軟件。能夠用原型更直觀地表達系統。並與團隊成員溝通
- 學會妥協。意識到要尊重他人的意見,辯證接受他人觀點。
- 學會有意識地向別人傳遞本身的觀點;有意識地把大夥兒天南海北的 BS 揪回到討論主題上來。
-
教訓:
正則表達式
- 對別人的否認意見不夠冷靜,容易採用(半)諷刺的言語,不利於溝通。
- 對一些反應比較慢的隊友沒有耐心,合做氣氛很差。
- 主導討論話題的能力還不足。七嘴八舌之間缺少影響團隊其餘成員的技巧(語言技巧等)。
3、 其餘點滴收穫
- 跟鄒欣老師接觸,感覺到理想的力量;
- 跟羅傑老師接觸,感覺到激情的魅力;
- 跟助教協同工做,感覺到年輕的活力。
其餘:編程
- 北京的氣候不錯(居然沒有沙塵暴,就是下了些雨,鞋子居然沒有溼透)
- 北京的飯菜不錯(這麼鹹也能夠吃下去)
- 北京的地鐵不錯(居然能擠上去、擠下來)
- ... ...
4、補充
跟鄒欣老師結緣源於2014年夏天。那時我正忙於完成博士論文的撰寫。一天,我在微博上收到出版人周筠老師的信息,她說,說微軟的鄒欣正準備出版一本軟件工程方面的教材,看到我在新浪博客上寫的一些關於《軟件工程》教學一些文字,問我是否願意幫忙看看鄒欣老師的書稿,提提意見或建議。我欣然接受了周筠老師的邀請,先後粗略看了一下書稿,驚奇於鄒欣老師這本書的清新出奇的寫法(相比於國內不少《軟工工程》教材的老氣橫秋的筆法)。後來在與周筠老師斷斷續續的交流中,瞭解到他們的目標遠遠不止是出版一本骨骼清奇的《軟工》教材,而是在國內《軟工》教學的方法上引入 "作中學"的理念,再後來,發現鄒欣老師他們的理想遠不止於此:他們想在國內計算機專業教學中更多的引入"作中學"的方法。 難得的是,他們不但想了,還去作了。在這個過程當中,我也獲得了不少幫助,在 南通大學計算機學院《軟件工程》教學上作了必定的改革,有一些收穫和教訓。也算是豐富了人生的經歷啦!api