※ 本文是否可提供台大同学转作其他非营利用途?(须保留原作者 ID)
(是/否/其他条件):是
哪一学年度修课:
109-1
ψ 授课教师 (若为多人合授请写开课教师,以方便收录)
陈和麟
λ 开课系所与授课对象 (是否为必修或通识课 / 内容是否与某些背景相关)
电机所选修
δ 课程大概内容
根据syllabus
‧ Mathematic Tools
– Asymptotic Notations
– Recurrence Relations
‧ Algorithm Design Techniques
– Divide and Conquer
– Sorting and Order Statistics – Greedy Algorithms
– Dynamic Programming
‧ Data Structures
– Heaps
– Disjoint Sets
– Hash Tables (if time permits)
‧ Graph Algorithms
– Search
– Shortest Path
– Minimum Spanning Tree – Max Flow / Min Cut
‧ Advanced Topics
– NP-Completeness
– Approximate Algorithms
– Randomized Algorithms (if time permits)
– Other Topics (if time permits)
Ω 私心推荐指数(以五分计) ★★★★★
想写code:☆ 纯理论课,不用写code
数学不好:★★★★☆ 有修过分析之类的课在前面章节会比较省力,但没修过也还行
单打独斗(普通人):★★ 没人讨论作业有时候很难想出来QQ
个人评价:★★★★★ 算法神课,想学好算法很推
η 上课用书(影印讲义或是指定教科书)
Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein
枫叶本,但基本上用不到,跟着老师的板书就够了
μ 上课方式(投影片、团体讨论、老师教学风格)
纯板书,节奏紧凑不会冗长,但老师相当希望大家一有问题就提问,确定大家都懂才会进
行下一段内容。
老师的讲解功力真的相当好,能够把复杂的内容精简并流畅地解释清楚,上过他的课才知
道为什么大家这么推崇和麟大神的课。
σ 评分方式(给分甜吗?是扎实分?)
作业:40% 共四次作业,期中期末前各两次
期中:30%
期末:30%
整体应该算扎实甜,作业不要在交作业前一天才写,且有找同学/助教讨论的话应该可以拿
到不错的分数,有时候自己想真的不知道该怎么做,讨论能够帮助厘清思绪,而且助教很
强,有问题去问他们基本上都可以得到反馈。
作业似乎大部分是之前的考试题目,所以有认识修过的人的话跟他们讨论也是个不错的方
法之一。另外老师很鼓励大家一起讨论作业,但“绝对要在题目前加上一起讨论的同学”
,老师很在意这点,就算自己写也要注明NO COLLABORATORS。
考试应该是这门课最精妙的地方,考题绝对不会重复,题型跟作业有87%像,但是就是写
不出来(或是无法在时间内写出来),似乎每一题作业跟考试都是老师亲自出的,所以就
算上网找可能功效也不大。不过最后会调分就是了,期中平均33,标准差13吧,最后调到
平均70左右,期末分数还没出来,但我猜平均应该也3x就是了QQ据学长说似乎都会调到
平均70左右。
老师有开放自觉考试考差的人把期中考当作业补交,如果你差5分内及格的话会让你过。
我自己觉得有跟课、作业有认真写,考试不要没去考应该都会过,只是要拿到A+的话应该
就要对算法有点悟性就是了(也可能是我太笨...)
ρ 考题型式、作业方式
考试跟作业都是6~7题问答题,形式都差不多,可能要你证明某个算法的时间复杂度或是
设计算法以完成题目要求等等,总之题目很活,但基本上都是上课会提到的范围,多数
是把上课的算法修改一下就可以做出来,但有时候不跟同学讨论或是不去问助教还真的不
知道该怎么切入...
ω 其它(是否注重出席率?如果为外系选修,需先有什么基础较好吗?老师个性?
加签习惯?严禁迟到等…)
不注重出席,会把上课影片放到COOL,补课很方便。
无需任何基础,大概知道程式怎么运作的话可能比较好理解算法设计的原理,如果数学好
的话在构造函数去证明某个叙述会比较轻松一点,像跟我组读书会的数学系学长们在构造
函数时就比我来得熟稔许多...
加签只签必修、差这门课毕业、特殊原因一定得修这门课的人,其他想修的人就只能上网
加签。
Ψ 总结
好课,想理解算法背后设计的原理很推!不用怕听不懂,老师会讲到你听懂为止,每次
下课也有很多人留下跟老师讨论课程内容,助教群也很厉害,整体来说非常推荐。