※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 ID)
(是/否/其他條件):是/轉錄須保留作者ID
資料結構與程式設計 Data Structure and Programming (DSnP)
哪一學年度修課:99-1
ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄) 黃鐘揚
δ 課程大概內容
Ceiba 上表定課程大綱
0. Class Instruction
1. Data Structure in Programming
2. Programming on Linux Workstations
3. C++ Advanced Feature Review
4. STL Basics
5. What is a Good Program?
6. Computational Complexity
7. Memory Management
8. Dynamic Array vs. Linked List
9. Tree
10. Graph and Circuit
11. Heap, Set and Map
12. Cache and Hash
13. Bit Vector and Matrix
14. Final Project Discussion
課程的第一節課會大爆滿,人會坐到走道上,建議提早佔位。首
次上課老師會先自我介紹,還有講解這門課究竟在學些什麼。
這門課主要是在幫各位打 coding 基礎,所以雖然課程名稱
是資料結構與程式設計,但實際上著重於程式設計這個部份。如果想
學習資料結構的話,建議是去修友系的資料結構與演算法上下。課程
一開始的一個月左右會介紹在 Linux 環境下 coding,如:vim 的使
用,Linux 的基本指令等等。還有幫忙各位複習 C++ 最著名的部份:
Encapsulation, Inheritance, Polymophism。之後便會開始教各位
好的程式需要什麼、一些好用的工具 (如 STL)、少許基本的資料結構
、複雜度等等。不過如同開頭所說的,資料結構和複雜度都沒有講地
很深入。想深入探討計算複雜度的同學可以去修計算理論。
課程的最後會有一個期末 Project,大致上會把整個學期學到的
東西放進去。
Ω 私心推薦指數(以五分計) ★★★★★
毫無疑問地五顆星
η 上課用書(影印講義或是指定教科書)
老師好像沒有提到 (?)
不過我個人蠻推薦一本書:
Fundamentals of Data Structure in C++
有興趣可以去翻一下
μ 上課方式(投影片、團體討論、老師教學風格)
老師自製投影片。
不過眾所皆知地,老師通常都會講不完當天表定的進度…
老師講話有點模糊,有一些特別的語句,例如:這種 coding
方式蠻常見的 which 我不是很喜歡。
σ 評分方式(給分甜嗎?是紮實分?)
蠻甜的。不過所謂甜不是以期末調分的方式表現出來。
而是隱藏在各個作業的給分當中。
每個作業好好寫約可拿到 90~100 左右
final project 即使沒有做完全部指定的的功能
也可以拿到 60 70 之類的
然後期末還會有總調分
ρ 考題型式、作業方式
沒有期中考期末考
Homework 12% * 5 = 60%
作業全為 coding 作業。每份作業都是老師寫的一些小程式
挖空一些 function 的內容,告訴我們 spec 後,要我們填空。
作業每兩個禮拜出一次,會依照課程演進逐漸調高難度,但其實
都不會太難,只要有認真跟著老師走應該都寫得出來。
99-1 因為課程進度關係只有五次作業,98-1 有六次。不過
期中考後好像會有停修潮…QQ
Final Project 40%
大致上會在期末的前一個月 release,大概會用到整個學期
學到的東西,其實就是一個大型的 Homework,主題會是 EDA 的
一個 tool。
以往 (99-1 之前) 都是 BDD (Binary Decision Diagram),
99-1 這年老師因為不忍心看到以往的 final project 被破關地
如此慘烈,狠下心來換個主題:fraig (Functional Reduced
And-Inverter Graph)。很多個檔案是整個空白的,要自己定義
data members 和 member functions,還有自己構思各個 class
之間的連結等等。這也造就了傳聞中的 DSnP Camp,因為期末
Project due 在期末的下一個禮拜。所以大家都會在系 K 上營
睡眠時間和電機營宿營可說不相上下,盛況空前。
ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性?
加簽習慣?嚴禁遲到等…)
不太知道加簽習慣,我是直接選上的。
外系選修建議有 C/C++ 基礎。
老師人很 nice,下課問他問題都會耐心解答。也會額外補充一些
課堂上沒說到的東西。
Ψ 總結
修準沒錯,99-1 的開課時間是 三678,正好是大二的空堂。所以
99-1 有大約 20 位大二同學修,不過大三學長姊們大約就上看
150 了!可見這門課有多夯!之前也聽人說過這門課可以說是必修了
噗噗。修這門課真的物超所值,值回票價。