Type of Credit: Elective
Credit(s)
Number of Students
矽谷科技公司在面試時,往往都會要求解題。Leetcode目前已經累積上千題庫。台灣的公司近年來也逐漸開始參考類似方式。因此軟體工程師求職前往往都會練習刷題。解題的能力,除了程式的基礎,另一個關鍵就是「演算法」的思維。更重要的,演算法的思維影響軟體系統的效能。尤其在Big Data, AI的時代,演算法的思維更加重要。
因此,本課程主要在介紹
1. 演算法如何設計、如何構思
2. 演算法背後的思維
3. 如何應用演算法
能力項目說明
「演算法」的課程目標在讓同學學習透過演算法設計,以解決問題,並體會演算法設計的樂趣。包括
1. 演算法如何設計、如何構思
2. 演算法背後的思維
3. 如何應用演算法
4. Interview 解題技巧
教學週次Course Week | 彈性補充教學週次Flexible Supplemental Instruction Week | 彈性補充教學類別Flexible Supplemental Instruction Type |
---|---|---|
第1週 Introduction (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第2週 Data Structures and Algorithms (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第3週 Mathematical Induction (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第4週 Design of Algorithm by Induction (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第5週 Algorithms Involving Sequence and Sets (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第6週 Algorithms Involving Sequence and Sets (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第7週期中考
第8週 Graph Algorithms (I) (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第9週 Graph Algorithms (II) (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第10週 Graph Algorithms (III) (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第11週 Graph Algorithms (IV) (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第12週 Geometric Algorithms (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第13週 Reduction (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)
第14週 校慶運動會停課(線上課程:Advanced Algorithms)
第17週 期末考
第18週 線上課程 (Advanced Algorithms)
1. 課程要求:建議有興趣修讀本課程的同學,
(1) 具備程式設計的經驗 (Python, Java, C, or C++)
(2) 修讀過「資料結構」(自修亦可)
2. 評分將根據
(1). 期中考
(2). 期末考
(3). 3次程式作業
Introduction to Algorithms: A Creative Approach, Udi Manber, Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA. |