[爆卦]林 軒 田 資料結構與演算法 PTT是什麼?優點缺點精華區懶人包

為什麼這篇林 軒 田 資料結構與演算法 PTT鄉民發文收入到精華區:因為在林 軒 田 資料結構與演算法 PTT這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者kamelus (駱駝)看板NTUcourse標題[評價] 109-2 林軒田/蔡欣穆 資料結構...



※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 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://www.ptt.cc/bbs/NTUcourse/M.1624878861.A.3AF.html
※ 編輯: kamelus (123.240.133.46 臺灣), 06/28/2021 19:36:57
fshjlin: 推DSA 06/28 19:34
Alex548291: 推 作業題目都很有趣 實作很多有趣的資料結構 06/28 19:43
rrro: 真榮幸 XD 06/28 22:24
Lyu7: 推推 06/28 23:00
tonyflu: 推 雖然我寫作業寫到快瘋了QAQ 06/28 23:48
imveryscared: 被電爆的我: 06/29 01:04
Inglenook: 推,但覺得作業不太友善,尤其是用C手刻很多東西很麻煩 06/29 11:28
Xiphity: 推推 06/29 17:30
a127000555: 回: 用C的原因為避免大家只會使用STL而不知其原理及 06/30 03:03
a127000555: 時間複雜度 06/30 03:03
agenuinedrea: 超感謝老師跟助教用心,讓我這個外系生也可以跟上課 06/30 11:53
agenuinedrea: 程進度 06/30 11:53
Alex548291: 用C才好阿 畢竟這堂叫資料結構 當然要手刻才對 06/30 12:32
bingruuu: 推,但我的立場比較持平,作業loading、最後FP、期末考 06/30 13:12
bingruuu: 、hw3尬在一起真的是快死掉,真的要審慎評估QQ 06/30 13:12
Python: 推推 06/30 13:38
GiftjokerPTT: 推 真的很謝謝助教能讓我問那麼多問題QQ 06/30 19:47
derek901018: 好課不得不推 07/01 09:52
karmel: 推教授助教用心!!!但這門課真的好難QQ感覺成績應該不好看 07/01 16:44
karmel: final project沒寫出來只有交報告感覺完蛋QQQQQQQQQQQQQQQ 07/01 16:45
michael1118: 推 修過ada還是收穫不少 07/12 23:29

你可能也想看看

搜尋相關網站