作者kamelus (骆驼)
看板NTUcourse
标题[评价] 109-2 林轩田/蔡欣穆 资料结构与演算法
时间Mon Jun 28 19:14:19 2021
※ 本文是否可提供台大同学转作其他非营利用途?(须保留原作者 ID)
(是/否/其他条件):否
哪一学年度修课:
ψ 授课教师 (若为多人合授请写开课教师,以方便收录)
林轩田(上半学期)、蔡欣穆(下半学期)
λ 开课系所与授课对象 (是否为必修或通识课 / 内容是否与某些背景相关)
资讯系大一必修
δ 课程大概内容
[上半学期]
Arrays and Linked Lists
Performance Evaluation
Stacks and Queues
Heap
Tree(Traverse + BST)
Sorting
[下半学期]
String Matching
Linear-Time Sorting
Disjoint Set
Hashing
RB Tree
(Extra)The most beautiful code I never wrote.
Graph
B Tree
(Extra)Software engineering extra
Ω 私心推荐指数(以五分计) ★★★★★
没时间写作业者 ★
不擅於自己学习与查资料者 ★
有心学习愿意花时间写作业者 ★★★★★
喜欢追着助教问好问满者 ★★★★★
喜欢翻转教室者 ★★★★
η 上课用书(影印讲义或是指定教科书)
Introduction to Algorithms (CLRS枫叶本)
μ 上课方式(投影片、团体讨论、老师教学风格)
林轩田老师:全实体授课,课前会提供充满许多空白的大纲投影片,上课时就会在上面边画
画边讲解,上课的步调我觉得还蛮容易吸收的,不过有同学可能会觉得太慢。老师擅长从无
到有地引导着大家走过一个资料结构诞生的过程(会问说我们现在有什麽?这样有什麽问题
?可以怎麽改?需要再加什麽? ),我很喜欢这个思考的过程,让我们不仅能know what
也能know why,每个礼拜都很期待去上实体课呜呜。老师也喜欢跟同学们互动,除了会用sl
ido让大家当场提问,有时看台下同学没精神时会故意写错内容,然後用自制的点名机抽人
来「大家来找碴」,不过答不出来老师也不会为难,或也可以喊pass跳过。
蔡欣穆老师:采翻转教室,课程影片会预先上传到NTU Cool要自己先看完,老师讲解的方式
就比较偏直接讲解,比如列出pseudocode或规则来说明,并搭配一些生活化的譬喻。而课堂
时间每次都会安排不一样的活动,如解答课程内容疑问、玩Kahoot、做学习单、老师分享软
体工程的知识,而最後一堂课是大地游戏,虽然遇到疫情,教学团队们还是想办法用gather
town让大家玩到,真心佩服,很用心又很好玩。
σ 评分方式(给分甜吗?是紮实分?)
作业 30% (10% x 3次)
期中考 15%
期末考 20%
课堂活动 20%
期末专题 15%
很紮实的紮实分。
老师表示等第跟原始分的换算未必按照学校的标准。
ρ 考题型式、作业方式
[作业]
总共有三次作业,每次都是三大题手写题(要输出成pdf档上传到gardescope),再加上三
题程式题(要上传到judge系统,每天只能上传5次),且有约一个月的时间可以写。程式题
要用C(非C++)写,难度不低,通常是课堂内容的延伸,所以不免要花些时间额外查资料做
功课,但好处是可以多认识很多酷酷的资料结构。由於judge上有排行榜,总是可以看到有
神人在作业公布没多久就都AC了,而普通人(如我QQ)往往要花上数十个小时构思、实作与
debug,但只要愿意花时间并善加利用助教资源,都还是能写出来的!(大部分的人都能做
出两题,而每次约有1/2~1/5的人能拿到程式题满分)
[期中考/期末考]
皆为open book,大致上是每个主题出个几题这样,有些可能要你修改一个pseudocode去达到题目想要的东西
、证明时间复杂度、设计一个演算法 等等,总之还蛮灵活的,我觉得不太容易QQ。期末考
有比较简单一点。
[课堂活动]
1. 课堂习题:课後或随课堂影片会用cool的「线上测验」功能出一些跟课堂内容有关的练
习题,基本上有上课就写得出来,很简单
2. Kahoot:在课堂中参加Kahoot并完成cool上的课後测验
3. 学习单:课堂时间会公布一个学习单,里头有一些手写题要把答案交到cool上,跟一题
程式题要交到judge,但都不难、旨在复习(?)
4. 大地游戏:参与教学团队精心准备的大地游戏,若无法参加者要写一份cool上的练习题
作为替代
[期末专题]
三人一组。这次的主题是给一堆信,要实作指定的一些分析信中资讯的function(比如要算
出两封信内容的Jaccard similarity),并丢到judge上去跑分,总之就是想办法利用所学
的资料结构,程式跑得越快分数越高。
ω 其它(是否注重出席率?如果为外系选修,需先有什麽基础较好吗?老师个性?
加签习惯?严禁迟到等…)
加签习惯:
今年开成超大班课程,为一类加选,老师说预计最多能收500人,印象中最後好像有300多人
选课
修课基础:
一定要会C,因为作业要用C写。我是外系来修的,在寒假时看着小杰老师的影片和P教授的
《由片语学习C程式设计》这本书自学,然後judge girl题目刷一刷,这样作业还算写得出
来。
Ψ 总结
虽然课程难度不低,但能感受到老师一直支持着push着大家(?),想办法帮助同学们学习
,slido 也是有问必答,轩田老师常常在课堂中作鼓励之语,我每次听完心中都有一种很安
心的感觉xD,我想也是因为这份安心感而给我继续前进的勇气吧。此外也能感受到老师们也很想给同学们一点课堂以外的东西,像是自我学习与
团队工作的重要、分享软体工程界的见闻等等,都是很可贵的收获。
另外值得一提的现象是在cool讨论版上讨论题目的风气颇盛,除了助教会留言回覆之外,也
会有很多热心的同学分享自己的想法或帮别人解惑,我很喜欢这样的氛围,有大家一起成长
的感觉,我想也是因为大班课才有机会创造出这样的环境(之前修商管程设时也有一样的感
动QQ),希望以後能有更多类似性质的课朝这个方向发展><。
此外为了支援这学期的大班课,助教团队多达二十多人,平日每天都有开TA hour,当作业
卡关时,去TA hour谘询助教往往能得到很有用的回馈,且每位助教的风格都蛮不一样的,
很有趣。
总而言之,课程对同学的要求不低,在给予紮实的训练之余,也提供了丰富的课堂体验,使
同学在修课过程中不仅获得成长,还可以得到不少乐趣。一学期下来我觉得自己收获很多,
很值得。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.240.133.46 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/NTUcourse/M.1624878861.A.3AF.html
※ 编辑: kamelus (123.240.133.46 台湾), 06/28/2021 19:36:57
1F:推 fshjlin: 推DSA 06/28 19:34
2F:推 Alex548291: 推 作业题目都很有趣 实作很多有趣的资料结构 06/28 19:43
3F:推 rrro: 真荣幸 XD 06/28 22:24
4F:推 Lyu7: 推推 06/28 23:00
5F:推 tonyflu: 推 虽然我写作业写到快疯了QAQ 06/28 23:48
6F:推 imveryscared: 被电爆的我: 06/29 01:04
7F:推 Inglenook: 推,但觉得作业不太友善,尤其是用C手刻很多东西很麻烦 06/29 11:28
8F:推 Xiphity: 推推 06/29 17:30
9F:推 a127000555: 回: 用C的原因为避免大家只会使用STL而不知其原理及 06/30 03:03
10F:→ a127000555: 时间复杂度 06/30 03:03
11F:推 agenuinedrea: 超感谢老师跟助教用心,让我这个外系生也可以跟上课 06/30 11:53
12F:→ agenuinedrea: 程进度 06/30 11:53
13F:推 Alex548291: 用C才好阿 毕竟这堂叫资料结构 当然要手刻才对 06/30 12:32
14F:推 bingruuu: 推,但我的立场比较持平,作业loading、最後FP、期末考 06/30 13:12
15F:→ bingruuu: 、hw3尬在一起真的是快死掉,真的要审慎评估QQ 06/30 13:12
16F:推 Python: 推推 06/30 13:38
17F:推 GiftjokerPTT: 推 真的很谢谢助教能让我问那麽多问题QQ 06/30 19:47
18F:推 derek901018: 好课不得不推 07/01 09:52
19F:推 karmel: 推教授助教用心!!!但这门课真的好难QQ感觉成绩应该不好看 07/01 16:44
20F:→ karmel: final project没写出来只有交报告感觉完蛋QQQQQQQQQQQQQQQ 07/01 16:45
21F:推 michael1118: 推 修过ada还是收获不少 07/12 23:29