精華區beta NTUcourse 關於我們 聯絡資訊
※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 ID) (是/否/其他條件): 是 哪一學年度修課:97-2 ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄) 陳俊杉 δ 課程大概內容 物件導向的Design Patterns,主要就是四人幫的Design Patterns (就是上課用書那本的內容) 剛開始會簡單複習c++多型,解釋什麼是patterns,然後會教基礎的UML 才開始進入patterns的細節 Ω 私心推薦指數(以五分計) ★★★★★ ★★★★★ η 上課用書(影印講義或是指定教科書) Design Patterns - Elements of Reusable Object-Oriented Software by Eric Gamma, Richard Helm, Ralph Johnson, John Vlissides (俗稱Gang of Four, GoF, 四人幫) Addison Wesley出版 本書有葉秉哲博士翻譯,培生出版的中文翻譯版,基本上翻譯品質還不錯。 μ 上課方式(投影片、團體討論、老師教學風格) 投影片,講義就是投影片,但是會有留空的地方,也會給範例程式碼 老師用平板電腦上課所以用投影片用得很順暢,寫字也很清楚 上課之中也會穿插問題,最常見的答案是這樣才有flexibility (笑) Design Patterns其實本來就是在探討怎麼樣的設計才能夠讓整個系統有彈性 另外,這學期多了Lab實作課,老師會出題目讓你練習patterns, Lab是開放討論的,所以其實很歡樂,只是速度要注意,在Lab完成跟回家寫 (只有一天的時間可以寫)的分數會有差異 σ 評分方式(給分甜嗎?是紮實分?) 我覺得算紮實偏甜,應該說只要你有用心做,分數都不錯 系上有強者學長拿了97,不過我沒有看到有人被當掉(應該是大家都有做出成品) 配分比例我忘記了,而且因為期末考最後沒考所以應該有調整 ρ 考題型式、作業方式 只有作業沒有考試,老師每次都說「可能會有考試,但是機率不大」 作業的部分主要是每週一次的Lab還有一個期末Project 另外還有出過兩次作業:重構一個簡單的小系統(CAD/CAM),以及 找patterns的known use 期末Project是比較重的部份,一開始會要你回去想你想做的主題, 然後要針對它做presentation。 最後全班只會選出三個主題,在這三個主題中你可以任選一個當作你的 期末Project主題 選完題後約莫一個月有一次progress presentation,要做出可以跑的東西 期末考完後會找一天做Demo(附食物) 對了,第一份作業跟期末報告都要交report,說明你用了哪些patterns, 並劃出系統架構圖。 p.s. 第一份作業跟期末Project是兩人一組,第二份作業是個人為單位 做presentation時要寫互評 ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性? 加簽習慣?嚴禁遲到等…) 一開始沒地方說,總之這門課其實是土木所電腦輔助工程組的選修課 只是我們系上可以算成系外選修,加上以前修過的學長推薦, 所以我就拉我同學去修了 身為資工系的小菜鳥,整個有勇闖冒險島的感覺 老師都會給加簽也會給旁聽,但是一開始老師的確有要我跟我同學再想想, 畢竟小菜鳥來修研究所的課,要很有勇氣(但是加我我們總共有四個同學去) 這門課在土木系的設定是C++程式設計→物件導向程式設計→Design Patterns 所以其實是程式系列最高階課程 所以你一定要有C++的基礎,也要有物件導向的概念,這個部分老師在上學 期有開課,可以去修。 (資工系自己開的物件導向是教Java,我這學期同時修兩門課其實常常會 不小心把語法搞混囧) 不建議寫程式經驗很少的人去修,除非你有要被磨練的心理準備 我在這門課之前幾乎沒寫過什麼C++,只有寫過C,但是寫程式的經驗算還可以 主要是靠我寫C++的同學罩我,沒有她我會死很慘||| 老師不點名,多數的修課學生老師本來就都認識(研究生), 而且老師很親切可愛!! 另外,負責Lab的助教也是很認真的好人!! 因為我常常很像死小鬼\( ̄▽ ̄|||)地去吵他, 他還是超有耐心地回答我的問題!! Ψ 總結 總之這門課是我大一下最重的一門課,不過也是學到最多的課 他只有3學分可是上課時數應該有5~6個小時,屬於需要投入大量時間 的課程。我們做第一份作業花了超過一百個小時,寫程式本身不是問題, 主要是要用patterns去思考、重構一個系統其實不太容易,需要經驗 然後期末Project讓我看了好幾天的日出′▽`) 但是patterns的東西本來就是要實際寫了才會更理解,所以投入時間很值得 只是要用什麼樣的pattern,是designer's choice,需要經驗,這點只能日後去 慢慢累積起來,才能越做越好。 對於軟體工程&軟體設計有興趣的人可以來修,其實我一開始完全不知道這門課 在教什麼,只知道是C++的課,想學一下C++就來了,我連patterns是什麼也是 去了之後一兩堂課才有點概念的 我們自己系上也有開Design Patterns的課,不過方向好像有點差異 主要是土木所CAE組應該是工程取向,老師本身也做很多很多工程 雖然程式碼可能不是寫得非常漂亮(老師我沒有批評的意思Orz) 但是經驗很豐富,外加有Lab實做,讓課程整個很充實 (而且就像我說的我一開始不知道這是什麼課,所以也不知道系上有開, 還有就是系上開在上學期,而我那時只是課表還有空在找課修) 這算是專業課程,所以這篇提供的資訊應該只對少數人有幫助 但是如果你是那少數人,外加你有心、願意花時間, 那非常推薦你去修這門課! 大致是這樣′▽`) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.0.42
reldahs:南! 07/06 14:37
anfranion:小小~~~~~~~~~~~ >////< 07/06 14:59
yamigo:大一就去修 , 超拼 @@" , 我碩一才修 07/07 15:49
telgniw:推好老師 07/28 13:50