※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 ID)
(是/否/其他條件):是
哪一學年度修課:104-1
ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄)
蕭旭君
λ 開課系所與授課對象 (是否為必修或通識課 / 內容是否與某些背景相關)
資工系大二必修
δ 課程大概內容
W1: Overview
W2: Divide and Conquer
W3: Divide and Conquer/Dynamic Programming
W4: Dynamic Programming
W5: Dynamic Programming
W6: Greedy Algorithms
W7: Greedy Algorithms
W8: Review
W9: Mid-term Exam
W10: Graph Algorithms
W11: Graph Algorithms
W12: Graph Algorithms
W13: Amortized Analysis
W14: NP completeness
W15: NP completeness
W16: Cryptography or Other Topics
W17: Final Review
W18: Final Exam
期中過後老師有講一些投票理論的東西,期末考時當加分題
Ω 私心推薦指數(以五分計) ★★★★★
想紮實地學習演算法: ★★★★★
想上有趣的演算法課程: ★★★★
想要躺著拿A+: ☆
整體推薦指數:★★★★ + 0.5★
η 上課用書(影印講義或是指定教科書)
Introduction to Algorithm(沒用過)
考試主要考上課投影片跟作業的變形
μ 上課方式(投影片、團體討論、老師教學風格)
上課方式是投影片教學
每單元的新開始,老師會簡單介紹這個演算法的內容
然後帶大家做一些實際應用
並且不定時會有小作業讓大家回去練習一下
期中期末考前一堂,老師會複習一下考試範圍,順便配個小考
並會給些題目(通常是以前的期中考題)讓大家討論
想出解答的上台跟大家分享,有加分
老師的投影片做的很棒,架構十分清晰,回去複習很方便
因為老師本身的專長是網路安全,所以她上課會講一些密碼學的東西
我覺得老師上課的講解其實蠻清楚的,而且上課的應用也不會抽象
所以大概就上課認真聽、回去有複習,應該都可以學得不錯
σ 評分方式(給分甜嗎?是紮實分?)
大作業跟大考試都是紮實分
不過滿分都是超過100,所以認真寫要拿高分應該不難
小考跟小作業就都蠻簡單的
我本身是系邊,不過作業都還可以拿個8x 9x
期末有A+
ρ 考題型式、作業方式
Homework Assignment: 30%
大作業的部分內容跟死線都跟蔡欣慕老師班是同步的
大概四五題手寫(70%)、一題程式題(30%)
通常大作業都蠻不簡單的,手寫部分一題花個兩三小時應該很正常
程式部分的話就比較不一定,通常期中期末前的會簡單一點,其他的可
能會花掉一整天
(PS.程式部分是用judge girl系統改的)
Mini-Homework and quiz: 10%
小作業就一兩題小練習,很快就可以寫完
小考的話本學期只有兩次,都是是非跟問答,不會太難
Mid-term: 25%
Final: 30%
期中期末考的部分考的是手寫
會比大作業簡單一點,但要在限定時間內寫出答案也是一種挑戰
不過如上面講的,滿分會超過100
所以盡量挑會的寫,分數通常不會太難看
Class participation: 5%
上述百分比是課程網上講的,最終成績老師有再幫大家調整比例就是了
ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性?
加簽習慣?嚴禁遲到等…)
不點名,開放外系加簽
因為程式作業是用C++,因此要修課的話建議要會C++
不過如果只是打算旁聽,或者認為可以快速學會使用C++的話
我覺得這堂課不太需要什麼基礎也可以跟得上的
Ψ 總結
ADA(本課程的英文簡稱)整體的load比DSA輕一些(沒有final project、
作業只有五個,雖然本來說要六個)
但單份作業的量跟難度不比DSA輕,甚至重了一點
像我就常常要跟同學、助教、老師大量討論+查資料才能把作業寫好寫滿
不過ADA雖然累,但卻還蠻充實的
我每次上完課都有種大腦又被塞入很多東西的感覺
而除了上課內容老師很願意幫大家指導指導再指導以外
老師剛從CMU讀完博士回來(卡內基美隆,不是中國醫),專長是網路安全
對於出國留學還有網安的問題,也可以問去老師
這堂課讓我覺得演算法還蠻有趣的,相信認真學習會有不錯的收穫。