進修課程
Advancde Studies
演算法實戰班
課程總時數
30
課程費用
6500
上課時間
週一 ~ 週五 / 下午
開課日期
2024-07-29
Intro
本課程將指導學員學習重要的資料結構與演算法。我們以 Princeton 出版社的演算法教科書 [0, 1] 為主軸,佐以 LeetCode [1] 相關的題目為輔,精選適當難度的題目提供給已具備基礎程式能力的學員提升解決問題的能力。此課程亦適合作為高中 108 課綱程式訓練之先修或課輔 [2, 3],並涵蓋 APCS 大學先修程式檢定考試的內容。本課程的最後導入實務上會使用到的隨機演算法、近似演算法、狀態機等相關的主題,增加學員在資訊領域上的廣度。



[0] Robert Sedgewick and Kevin Wayne, Algorithms, 4/e, 2011.
[1] Jon Kleinberg and Éva Tardos, Algorithm Design, 2005.
[2] Problem sets: LeetCode
[3] 十二年國民基本教育課程綱要國民中學暨普通型高級中等學校 - 科技領域
[4] APCS 大學程式設計先修檢測
上課地點
106台北市羅斯福路四段一號國立台灣大學資訊工程學系系館(德田館)
Caption
本課程之設計將會從C語言開始,進行小段基本的語法復習後由淺入深,使用大量的範例教學並配合上機演練,利用台大資工系的線上批改系統(Online Judge),讓學員們可以在學習後便能馬上練習,透過練習與思考,吸收教材內容,即使是有段時間沒碰C語言的學員們也能快速的再次上手。
線上練習系統介紹影片




 
0. 演算法分析 (analysis of algorithms: time complexity)
1. 串鏈 (linked list)、堆疊 (stack)、佇列 (queue)
2. 二元搜尋樹 (binary search tree) 與紅黑樹 (red-black tree)
3. 雜湊 (hashing) 與雜湊表 (hash table)
4. 無向圖 (undirected graph) 與有向圖 (digraph)
-- 深度優先搜尋 (depth-first search, DFS)
-- 廣度優先搜尋 (breadth-first search, BFS)
-- 拓樸排序 (topological sort)
-- 最小生成樹 (minimum spanning tree)
-- 最短路徑演算法 (shortest path)
5. 字串 (string)
-- 基數排序 (radix sort)
-- 字典樹 (trie)
-- Knuth-Morris-Prat (KMP) 演算法
-- 正則表示法 (regular expression)
-- 霍夫曼樹 (Huffman tree)
6. 動態規畫 (dynamic programming, DP)
7. 貪婪演算法 (greedy algorithms)
8. 組合搜尋 (combinatorial search) 與回溯法 (backtracking)
9. 隨機演算法 (randomized algorithms)
-- 亂數生成演算法
-- 蒙地卡羅演算法 (Monte Carlo algorithms)
-- 拉斯維加斯演算法 (Las Vegas algorithms)
10. 近似演算法 (approximation algorithms)
11. 計算理論 (computing theory)
-- 有限狀態機 (finite state machine)
-- 圖靈機 (the Turing machine)
-- NP 完備問題 (NP-complete problems)
12. 量子計算與演算法 (quantum computing & algorithms)

註0:更新於 2023-06-10。
註1:課程內容將根據當時上課狀況會有適當調整,詳見課程網頁
 
   
   

#以上課程將視班級程度及授課進度而調整
 

線上課程進行方式


●本課程將以非同步的影片方式進行線上課程,採用本校的NTU Cool平台,影片尚無字幕,並於開課日以E-mail寄發註冊信(報名時請務必填對E-mail)。
●課間練習,與自主練習可使用台大資工系所開發的JudgeGirl平台。
●課程中若有問題問老師可以使用email或於線上練習平台JudgeGirl留言給老師。
 

課程評量方式與通過標準


本課程採用作業與期未報告及期末作業的型式進行評量
●平常作業50% (依單元出9個作業,使用老師指定的平台繳交)
●期末作業50% (結業日時公佈題目,作答時間為一週,使用老師指定的平台繳交)
以上共達75%達成結業標準。
Teacher

盧政良

(一)學歷

  • 國立臺灣大學資訊工程學 博士候選人
  • 交通大學電信工程研究所 碩士
  • 中央大學電機工程學系 學士

(二)經驗

  • 國立臺灣大學 腦與心智科學研究所 兼任研究助理 (2014.8--present)
  • 中國信託商業銀行 全球金融商品交易處 期貨自營部 實習研究員 (2014.1--present)
  • 國立臺灣大學 資訊工程學系 資訊系統訓練班 講師 (2014.1--present)
  • 國立臺灣大學 資訊工程學系 課程助教:計算理論、離散數學、財務演算法 (2012.9--present)

(三)研究興趣

  • Financial computing
  • Analysis and design of algorithms
  • Quantitative finance, econometrics, and algorithmic trading
  • Statistics and machine learning
  • Computing theory and programming language design

(四)專長

  • MATLAB, Java, C, C++, Python, C#

(五)教學特色

  • 中文授課,課程教材以英文為主。適合規劃出國求學或對科學/技術理論有興趣的學員。
  • 2014年至本班教學,累計授課時數至2024年3月1日為11,100小時。

 

Memo
詳細課程資訊,請參考資訊系統訓練班【最新課程】連結:
https://train.csie.ntu.edu.tw/train/course.php?id=4658&bid=414
更多相關課程推薦
好康活動_跳跳50
TOP

哈囉~

×
你報名的我是課程名稱
線上互動課正在進行中,是否立即前往上課?