抽象思考與演算法
Abstraction and Algorithms
| 節 | 週三 |
|---|---|
7 15:30–16:20 | 抽象思考與演算法 YL401 2 節連堂 |
8 16:30–17:20 |
* 根據陽明交大上課時間表所列
本課程介紹進階的抽象化思考與分析工具:物件導向分析與程式設計。Python 將任何元素都視為物件,將特性類似的物件歸納成抽象的類別,藉此有效地進行模組化系統分析、建構,與維運。是現今非常流行的思考與分析方式。This course introduces alternative abstract thinking and analysis tools: object-oriented analysis and programming. Python regards any element as an object, and classifies objects with common properties into abstract categories (classes), thereby effectively performing modular system analysis, construction, and maintenance. It is a very popular way of thinking and software design.
資訊科技已經由各個層面影響社會發展與進步。因此,培養資訊能力成為現代人的必要課題。本課程前半部介紹 Python 的抽象化機制--物類別與物件定義,引導學生建立有效的抽象化思考模式。課程後半部會介紹問題解決方案,也就是演算法的設計策略與評估方式。Information technology has been demonstrated to play an important role in all aspects of current society. The development of information skills is therefore become essential. The first half of this course focus on the abstraction mechanism of Python--classes and objects. The second half of the course focus on the development and complexity analysis of algorithms.
作業 70%;期中考 15%;期末考 15%Exercise 70%; Midterm 15%; Final Exam 15%
| 週次 | 主題 |
|---|---|
| 第 1 週 | Introduction |
| 第 2 週 | 和平紀念日 |
| 第 3 週 | Object-Oriented Programming (I) |
| 第 4 週 | Object-Oriented Programming (II) |
| 第 5 週 | Object-Oriented Programming (III) |
| 第 6 週 | Object-Oriented Programming (IV) |
| 第 7 週 | 校際活動週 |
| 第 8 週 | Object-Oriented Programming (V) |
| 第 9 週 | 期中考 |
| 第 10 週 | Computational Complexity (I) |
| 第 11 週 | Computational Complexity (II) |
| 第 12 週 | Searching and Sorting Algorithms (I) |
| 第 13 週 | Searching and Sorting Algorithms (II) |
| 第 14 週 | Plotting (I) |
| 第 15 週 | Plotting (II) |
| 第 16 週 | 期末考 |
| 第 17 週 | Project Review (I) |
| 第 18 週 | Project Review (II) |
Introduction to Computation and Programming Using Python--With Application to Computational Modeling and Understanding Data (third edition), by John V. Guttag, 2021, The MIT Press (滄海圖書)