課程名稱 |
物件導向程式設計 Object-oriented Software Design |
開課學期 |
111-2 |
授課對象 |
電機資訊學院 資訊工程學系 |
授課教師 |
劉邦鋒 |
課號 |
CSIE1211 |
課程識別碼 |
902 10730 |
班次 |
|
學分 |
3.0 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期四7,8,9(14:20~17:20) |
上課地點 |
資105 |
備註 |
初選不開放。須修過劉邦鋒老師開設之「計算機程式設計」。 限本系所學生(含輔系、雙修生) 總人數上限:20人 |
|
|
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
https://www.facebook.com/pangfeng.liu/posts/pfbid02dBsr1e2gnVD6iBd2qN8u5TMvUt4x3Hy7mL893LjMR5Q3yB4sm5FL3HbVnTZ1kHSKl |
課程目標 |
This course aims to help you understand th key issues in OOP with refactoring. We will use C++ to realize OOP concepts such as encapsulation, polymorphism, and the separation of implementation and interfaces. This course requires extensive in-class discussion and in-depth digest after class and hands-on practice. |
課程要求 |
想修本宅物件導向程式的同學請寄 email 給我,並附上SOP及成績單。信件 subject 請用 [C++OOP] 學號+姓名。 這門課的內容請參考 https://www.facebook.com/pangfeng.liu/posts/pfbid02dBsr1e2gnVD6iBd2qN8u5TMvUt4x3Hy7mL893LjMR5Q3yB4sm5FL3HbVnTZ1kHSKl
修課學生要求
https://www.facebook.com/pangfeng.liu/posts/pfbid02SyXDgNM7Js7XA5BY46kE3S54tP8uVC2VrXiEZCEcU4sULxHvjPiEUdvVAq96LXbYl |
預期每週課後學習時數 |
5 |
Office Hours |
|
指定閱讀 |
https://github.com/pangfengliu/Cplusplus-refactor |
參考書目 |
https://github.com/pangfengliu/Cplusplus-refactor |
評量方式 (僅供參考) |
|
週次 |
日期 |
單元主題 |
第1週 |
2/23 |
The difference between C and C++, array and its application, and floating point numbers. |
第2週 |
3/02 |
Refactor with function, C raw pointers. |
第3週 |
3/09 |
Reference type, C++ standard data type |
第4週 |
3/16 |
C++ char and string and the difference between them and C string. |
第5週 |
3/23 |
bit operations in C and C++, and refactor with structure |
第6週 |
3/30 |
Modularization and separate compilation |
第7週 |
4/06 |
Refactor with C++ class, Recursion, refactor with inheritance |
第8週 |
4/13 |
Midterm exam |
第9週 |
4/20 |
Refactor with the operator, lambda function, catch and try. |
第10週 |
4/27 |
Linked list |
第11週 |
5/04 |
C++ move semantic, smart pointer, and binary trees |
第12週 |
5/11 |
polymorphism and virtual functions |
第13週 |
5/18 |
Operator overloading |
第14週 |
5/25 |
Template and preprocessing |
第15週 |
6/01 |
Unwanted topics, e.g., friend class and function, private and protected inheritance. |
|