精華區beta b98902HW 關於我們 聯絡資訊
既然Jennya熱心舉辦了這個活動就來趕個死線共襄盛舉一下( ̄▽ ̄#)﹏﹏ ★ 本文是否可提供其他同學轉作其他非營利用途?(須保留原作者 ID) (是/否/其他條件): 是 ★ 若滿分五分,則私心推薦幾分? 4 ★ 課程大綱 一、 Programming style Debugging 二、 Template Operator overloading Interitance Polymorphism 三、 Divide and conquer Greedy method Dynamic programming Graph algorithm Search (沒上到) Data structure (沒上到) ★ 上課方式(投影片或是板書、老師教學風格、是否英語授課) 投影片授課,每年長得差不多僅微幅修改,可以到歷年課程網頁下載。 內文大多是英文,偶爾出現中文便是P老師要傳授的重要哲理, 有些課的最後一堂是「OO與人生」,ACP卻不時可見到電腦科學與人生的連結。 如果莊子內篇養生主還不夠,你可以在這裡找到金剛經大般涅槃經。 講解相當仔細,如果有人表示聽不懂或提出問題,老師會重新講解/討論, 直到疑惑解除(趕進度時除外)。結果進度有點拖到,最後兩個主題上不到。 每次上課會隨便挑一個數字(大多是當天日期),依照座位蛇行報數, 從中獎的同學開始,依序點人回答問題,每堂點人數量多寡不一定, 有時坐在最後面的完全不會被點到,有時則幾乎輪完兩輪。 被點到不會也沒關係(通常會有人有意無意打pass),TLE老師就叫下一位。 課程主要分成三大部份: 一、 Programming Style & Debugging 二、 C++/OO features 三、 Algorithms 第一部份是平常容易被忽略的部份,一份「好」的程式碼, 除了結果正確、跑得快,易讀易懂易維護也是不可或缺的。 這邊舉出許多易造成混亂,甚至導致出錯的style,搭配一些工具的使用, 以及一些強者偷懶而自食惡果的範例,告訴我們魔鬼就在細節裡。 第二部份介紹Template、STL、Operator overloading、Polymorphism、…… 等等C++/OO的特色,搭配不少的範例程式碼,可作為從C到C++的第一步。 ACP的批改娘是g++版,雖說也是可以接受C程式碼,但善用STL及其他feature, 可降低撰寫複雜度與提升可讀性。精通後再搭配CPLR的Lab 2~4更是完美組合。 第三部份演算法講了D&C、Greedy、DP和一點點Graph, Syllabus後面還有Search和Data structure貌似來不及講。 和演算法(我修隨機客的)不同的是比較專注在特定題目的解法及實作, P老師說這堂課起初的定位是ACM補習班(現另有培訓班)故較著重於此。 ★ 評分標準 作業 40% (13次、其中一次reading不算分) 期中考 30% 期末考 30% 不調分,原始分數無條件進位至整數再轉成等第制。 ★ 作業內容及方式 幾乎每週一次作業,前兩部份常常是上課時遇到什麼問題, 或是靈機一動便出成作業,什麼奇怪的東西都有相當有趣XD。 HW1的批改自己老code似乎是傳統,另外還有讀文章、GDB/Valgrind學習記錄、 幫某份程式碼debug、……等等,由助教打分數,好像全都是9~10分@@。 講STL和第三部份演算法時則有程式作業,批改娘上見真章。 照上課教的或稍微思考一下,通常不會太難。 ★ 考試風格及題型 期中考 筆試30% 上機70% 四小時 筆試範圍是期中考前的觀念大集合,以及reading那次作業的文章, 投影片裡都有(吧),15題選擇,答對得2分、答錯倒扣1分。 上機考兩題debug、兩題STL實作(其實不用STL也可以XD), debug是拿前人的9分程式碼(苦主本身好像也有修課|||), 在限定的edit distance內將其修改到AC。 期末考 筆試20% 上機80% 四小時 筆試四題大腦實作演算法題,規模都很小。 上機四題演算法,這次分配是(每年都不一樣,如果遇到卡恩之類的助教就...): ‧送分(費氏數列) ‧Greedy ‧DP ‧Graph(disjoint set/union-find) 關於disjoint set我記得老師在最後一堂課特別強調這東西很好用一定要上完, 但是現在回去翻投影片竟然找不到@@。 批改娘上會放近年的考古題供練習,建議盡可能寫完。 ★ 其它(會不會點名、需要什麼基礎、老師的個性) 不會點名,只有點人回答問題但完全不影響成績。 基礎就計程和演算法。 老師的風格是可以講出一個讓全班笑出來的笑話,自己卻紋風不動, 接著拋出一句「我不是在講笑話」,全然的冷面笑匠。 ★ 個人修課心得及總結 個人認為第一部份是整門課的精華,可藉以改善自己的coding style, 以及練習面對各種奇奇怪怪的bug,避免屢犯同樣的錯誤。 (其實很多都當耳邊風( ̄▽ ̄#)﹏﹏) 第二部份對已經會C++的人來說可能有點冗, 我自己則是趁機把STL摸熟,CPLR剛好派上用場一舉兩得。 第三部份,如果你是以前就有在玩競賽的話那幾乎不需要上orz, 沒碰過的人則可以看看競賽題在玩什麼,以及演算法在特定題型的應用。 最後我必須很誠實地說,某個等級以上的如果來修ACP學不到太多東西, 只能比誰期末考先破臺,而且沒T-Shirt(默)。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.137.224
s864372002:好像超過死線了( ̄▽ ̄#)﹏﹏ 08/23 14:04
jenny2921:謝謝你的共襄盛舉...但是連這個都可以遲到...XDD 08/24 01:07