※ 本文是否可提供台大同学转作其他非营利用途?(须保留原作者 ID)
(是/否/其他条件):
是
哪一学年度修课:
103-1
ψ 授课教师 (若为多人合授请写开课教师,以方便收录)
张耀文
δ 课程大概内容
Chapter 1 Algorithmic Fundamentals
Chapter 2 Sorting and Order Statistics
Chapter 3 Data Structures on Trees
Chapter 4 Dynamic Programming
Chapter 5 Greedy Algorithms
Chapter 6 Amortized Analysis
Chapter 7 Graphs
Chapter 8 Coping with NP-Completeness
会从算法的最基础入门开始,一直讲到大家都一直听到但其实不怎么了解的
NP-Complete
Ω 私心推荐指数(以五分计) ★★★★★
★★★★★★★★★★★★★★★(本人修过最棒电机系课)
η 上课用书(影印讲义或是指定教科书)
Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms
CLRS这本书基本上被公认为算法圣经,就像Smith的电子学差不多XD
书写的很棒,非常detail的东西都会写,理论建立也会从lemma开始推,自学者
也可使用,但还是建议上课听清楚比较重要,自己看大概要花三到四倍的时间,
老师的统整往往可以让你回去不太需要再翻课本。
μ 上课方式(投影片、团体讨论、老师教学风格)
上课就是老师自制投影片,开学会建议你投影片都要印下来,上课比较方便,
且老师比较不喜欢有人上课用电脑,虽然说用他也不会钉你啦XD
老师会希望学生在上课时就听懂,所以速度不会很快,三节课讲二十张投影片是
常有的事,而且通常不会准时下课,大概会delay十到二十分钟,所以晚上有课的
同学要考虑一下。
老师为了让学生完全听懂,会举各种生活化或时事的例子,然后自己笑得很开心XD
然后认识的人会一直被他拿来当例子的角色(我这学期平均每堂课被他叫两次zzz)
老师本人是EDA组的超大咖教授,课程内容中会不时加入自己的见解,还有算法在
实际层面上的应用等等,算是让我们稍微了解这个学了可以干嘛这样。
σ 评分方式(给分甜吗?是扎实分?)
电机系的课其实只要有念都算甜吧XD
但是请把这门课当成电子学或你觉得不轻的必修看,它会花上你扎实的三学分时间
ρ 考题型式、作业方式
五次手写作业+三次程式作业+五次小考+期中期末
手写作业一次十五题上下,基本上是课本题目+老师自己出的,而最后一是DIY题目
,要跟据这次范围出一题自己想的题目和解答,越新鲜的分数越高。
程式作业就是implement上课学到的方法,今年的是Sorting、Dynamic programming
跟Shortest path。
小考是每次交作业当天最后小考,三题有一题以上会是讲义或作业类似题,可开书
,基本上有写作业有上课可以完全不用念,算是一个小自我检定。
期中期末就正规考试,可以带一张大抄,计算机可带但是用不到XD
ω 其它(是否注重出席率?如果为外系选修,需先有什么基础较好吗?老师个性?
加签习惯?严禁迟到等…)
完全不点名,但没来是你的损失XD
这学期很多台科大或是其他系的来旁听的样子,我觉得应该只要是理工科系的都不
需要有什么基础,就来学吧XD
Ψ 总结
算法这门课据说是MIT三分之二的学生都修过的课,其重要性是跨领域的。
而老师的这门课深入浅出,从最基本的入门到现在Algorithm讨论的热门问题都有
所涉略,修了不只对问题的复杂度分析有概念,提出解决方法的方式也会更有效率
,又可以练到一点程式,好课不修吗XD