[评价] 109-2 林轩田/蔡欣穆 资料结构与算法

楼主: kamelus (骆驼)   2021-06-28 19:14:19
※ 本文是否可提供台大同学转作其他非营利用途?(须保留原作者 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咨询助教往往能得到很有用的回馈,且每位助教的风格都蛮不一样的,
很有趣。
总而言之,课程对同学的要求不低,在给予扎实的训练之余,也提供了丰富的课堂体验,使
同学在修课过程中不仅获得成长,还可以得到不少乐趣。一学期下来我觉得自己收获很多,
很值得。
作者: fshjlin (废渣)   2021-06-28 19:34:00
推DSA
作者: Alex548291 (ARS·L)   2021-06-28 19:43:00
推 作业题目都很有趣 实作很多有趣的资料结构
作者: rrro (小杰)   2021-06-28 22:24:00
真荣幸 XD
作者: Lyu7 (永远的初学者)   2021-06-28 23:00:00
推推
作者: tonyflu (Tony)   2021-06-28 23:48:00
推 虽然我写作业写到快疯了QAQ
作者: imveryscared (新手上路)   2021-06-29 01:04:00
被电爆的我:
作者: Inglenook (城市苦守)   2021-06-29 11:28:00
推,但觉得作业不太友善,尤其是用C手刻很多东西很麻烦
作者: Xiphity (XK)   2021-06-29 17:30:00
推推
作者: a127000555 (arvin)   2021-06-30 03:03:00
回: 用C的原因为避免大家只会使用STL而不知其原理及时间复杂度
作者: agenuinedrea (Leo)   2021-06-30 11:53:00
超感谢老师跟助教用心,让我这个外系生也可以跟上课程进度
作者: Alex548291 (ARS·L)   2021-06-30 12:32:00
用C才好阿 毕竟这堂叫资料结构 当然要手刻才对
作者: bingruuu   2021-06-30 13:12:00
推,但我的立场比较持平,作业loading、最后FP、期末考、hw3尬在一起真的是快死掉,真的要审慎评估QQ
作者: Python (CSPR)   2021-06-30 13:38:00
推推
作者: GiftjokerPTT (CuriousJoker)   2021-06-30 19:47:00
推 真的很谢谢助教能让我问那么多问题QQ
作者: derek901018   2021-07-01 09:52:00
好课不得不推
作者: karmel (吴承宇)   2021-07-01 16:44:00
推教授助教用心!!!但这门课真的好难QQ感觉成绩应该不好看final project没写出来只有交报告感觉完蛋QQQQQQQQQQQQQQQ
作者: michael1118 (麦口)   2021-07-12 23:29:00
推 修过ada还是收获不少

Links booklink

Contact Us: admin [ a t ] ucptt.com