教學大綱 Syllabus

科目名稱:演算法分析

Course Name: Algorithmic Analysis

修別:選

Type of Credit: Elective

3.0

學分數

Credit(s)

35

預收人數

Number of Students

課程資料Course Details

課程簡介Course Description

矽谷科技公司在面試時,往往都會要求解題。Leetcode目前已經累積上千題庫。台灣的公司近年來也逐漸開始參考類似方式。因此軟體工程師求職前往往都會練習刷題。解題的能力,除了程式的基礎,另一個關鍵就是「演算法」的思維。更重要的,演算法的思維影響軟體系統的效能。尤其在Big Data, AI的時代,演算法的思維更加重要。

因此,本課程主要在介紹
1. 演算法如何設計、如何構思
2. 演算法背後的思維
3. 如何應用演算法

核心能力分析圖 Core Competence Analysis Chart

能力項目說明


    課程目標與學習成效Course Objectives & Learning Outcomes

    「演算法」的課程目標在讓同學學習透過演算法設計,以解決問題,並體會演算法設計的樂趣。包括

    1. 演算法如何設計、如何構思

    2. 演算法背後的思維

    3. 如何應用演算法

    4. Interview 解題技巧

     

    每周課程進度與作業要求 Course Schedule & Requirements

    教學週次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)

    第15週 NP-Completeness (I) (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)

    第16週 NP-Completeness (II) (指定閱讀課本, 講課與討論, 課前預習1 hr., 課後複習3 hr.)

    第17週 期末考

    第18週 線上課程 (Advanced Algorithms)



    授課方式Teaching Approach

    80%

    講述 Lecture

    10%

    討論 Discussion

    10%

    小組活動 Group activity

    0%

    數位學習 E-learning

    0%

    其他: Others:

    評量工具與策略、評分標準成效Evaluation Criteria

    1. 課程要求:建議有興趣修讀本課程的同學,

    (1) 具備程式設計的經驗 (Python, Java, C, or C++)

    (2) 修讀過「資料結構」(自修亦可)

    2. 評分將根據

    (1). 期中考

    (2). 期末考

    (3). 3次程式作業

    指定/參考書目Textbook & References

    Introduction to Algorithms: A Creative Approach, Udi Manber, Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA.

    已申請之圖書館指定參考書目 圖書館指定參考書查詢 |相關處理要點

    維護智慧財產權,務必使用正版書籍。 Respect Copyright.

    課程相關連結Course Related Links

    
                

    課程附件Course Attachments

    課程進行中,使用智慧型手機、平板等隨身設備 To Use Smart Devices During the Class

    需經教師同意始得使用 Approval

    列印