演算法實戰班

演算法實戰班

本課程將指導學員學習重要的資料結構與演算法。我們以Princeton的演算法教科書 [0] 為主軸,佐以LeetCode [1] 相關的題目為輔,精選適當難度的題目提供給已具備基礎程式能力的學員提升解決問題的能力。此課程也適合作為高中108課綱程式訓練之先修或課輔 [2, 3]。


[0] Robert Sedgewick and Kevin Wayne, Algorithms, 4/e, 2011.
[1] Problem sets: LeetCode
[2] 十二年國民基本教育課程綱要國民中學暨普通型高級中等學校 - 科技領域
[3] 大學程式設計先修檢測 (APCS)

課程大綱

0. 演算法分析 (time complexity)
1. 串鏈 (linked list)
2. 二元搜尋樹 (binary search tree) 與紅黑樹 (red-black tree)
3. 雜湊 (hashing) 與雜湊表 (hash table)
4. 無向圖 (undirected graph) 與有向圖 (digraph)
-- 深度優先搜尋法 (depth first search, DFS)
-- 廣度優先搜尋法 (breadth first search, BFS)
5. 動態規畫 (dynamic programming, DP)
6. 回溯法 (backtracking)
7. 貪婪演算法 (greedy algorithms)
8. 平行演算法 (parallel algorithms)
9. 隨機演算法 (randomized algorithms)
10. 計算理論 (computing theory)

註0:更新於2021/3/31。
註1:課程內容將根據當時上課狀況會有適當調整。

適合對象

本課程適合掌握基本程式能力*且想加點演算法技能樹的學員。
* 不限程式語言,若具備C、C++、Java、C#等語言能力者佳,Python使用者亦可;必要能力為迴圈/遞迴與陣列,已了解結構/類別/物件等概念者佳。

開發環境

任何瀏覽器且有網路的環境下皆可進行練習。

近期班次

  • 第341期 開課日期:2021.04.17 確定開課

    上課時間: 週 (六)(日)
    4:30 PM ~ 6:30 PM
    上課日期:2021.04.17 ~ 2021.05.01
    學費:新生新台幣3500元整

  • 第342期 開課日期:2021.05.22 招生中

    上課時間: 週 (六)(日)
    4:30 PM ~ 6:30 PM
    上課日期:2021.05.22 ~ 2021.06.05
    學費:新生新台幣3500元整

  • 注意事項

    • 上課地點:台灣大學資訊工程學系系館 詳細位置;教室號碼將於開課前一日公佈於官網"最新消息"中。
    • 上課教材:開課後將公布教學網站給同學查閱。
    • 結業狀況:請上官網”結業名單”查閱是否合格及可領取證書進度。

    講師介紹

    • 國立臺灣大學資訊工程學 博士候選人

    • 交通大學電信工程研究所 碩士

    • 中央大學電機工程學系 學士

    (一) 服務經驗

    • 國立臺灣大學 腦與心智科學研究所 兼任研究助理 (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#

    (四) 教學特色

    • 中文授課,課程教材以英文為主。適合規劃出國求學或對科學/技術理論有興趣的學員。
    • 授課時數:於本訓練班教學時數累計至2020年3月10日為4950小時。