|
課程摘要 |
第一週 (2/19) |
|
第二週 (2/26) |
-
課程簡介
(b&w),
課程大綱, 參考書籍, 線上資料
-
以 C++ 製作物件導向程式的核心概念:(物件, 抽象化界面, 封裝), 繼承,
多型
-
A "Better" C Program
(b&w),
codes
- Homeworks:
|
第三週 (3/4) |
-
C++ Console I/O
(b&w)
-
Making and Using Objects
(b&w)
- Homeworks:
|
第四週 (3/11) |
- Assignment #1 due
-
Objects and Classes
(b&w,
課程記錄,
請安裝課程記錄瀏覽程式DInk,
1,
教材記錄)
-
C++ as a better C
(b&w,
教材記錄)
:
- single line comment
- struct, enum, union tags are type names
- new iostream library (object oriented
usage, type sensitive usage)
- cooperating with stdio (ios::sync_with_stdio())
- Homeworks:
|
第五週 (3/18) |
-
C++ as a better C
(b&w,
課程記錄,
教材記錄)
: (cont'd)
- variable declaration on the fly
- definition vs. declaration (variable
and function)
- function signature and name mangling
- parameter defaults
- #define vs. const variables
- new and delete
- stricter typing system
- typedef
-
reference
(b&w)
- global scope resolution operator
- bool
- explicit type conversion
- Homeworks:
- 3/20 實習課 20分鐘小考 (實習1到實習3內容)
- review
Chapter 3
- read Chapter 4, 5
- 兩星期後 (3/31) 交作業二
|
第六週 (3/25) |
-
Assertion
(b&w)
error is strictly for programmer instead of users
-
Complex C/C++ Type Definitions
(b&w)
- Procedural Programming Example 6Balls
-
Object Oriented Programming Example
3Bags Example
(b&w),
codes
- Homeworks:
- review Chapter 4, 5
- read Chapter 6 Initialization & cleanup
|
第七週 (4/1) |
-
Constructors and Destructors
(b&w,
課程記錄,
教材記錄)
- Assignment #2 due
-
More Classes
(b&w,
課程記錄,
教材記錄)
(Object composition and ctor, this pointer, return pointers)
- Procedural Programming Example WaveRecord.h,
WaveRecord.cpp
-
Common C/C++ Memory Errors
(b&w,
課程記錄,
教材記錄,
課程記錄,
教材記錄),
html
version
- Homeworks:
|
第八週 (4/8) |
-
Disciplined C++ Programming Style
(b&w)
- 前年度期中考解答
-
Chapter 1: Formal Introduction to OOP
(b&w,
課程記錄,
教材記錄))
-
The Big Three: Dtor, Copy Ctor, and Assignment Operator
(b&w,
課程記錄,
教材記錄,
課程記錄 2,
教材記錄 2))
- Homeworks:
|
第九週 (4/15) |
期中考 (10:00-12:00),
期中考參考解答
|
第十週 (4/22) |
-
Friend Classes and Friend Functions
(b&w,
課程記錄,
教材記錄),
- 期中考講解
- Homeworks:
- read Chapter 9 inline function
- read Chapter 5 page 263
|
第十一週 (4/29) |
-
Basic Object Design
(b&w,
課程記錄,
教材記錄)
-
Operator Overloading
(b&w,
課程記錄,
教材記錄)
- Homeworks:
- read Chapter 12 operator overloading
- 二星期後 5/12 繳交 作業三
|
第十二週 (5/6) |
-
Operator Overloading
(b&w,
課程記錄,
教材記錄)
-
Quiz#1 Solution
(課程記錄,
教材記錄)
-
Inheritance
(b&w,
課程記錄,
教材記錄)
- Proper Inheritance
(Liskov Substitution Principle)
- Homeworks:
|
第十三週 (5/13) |
-
Inheritance
(b&w,
課程記錄,
教材記錄)
- Polymorphism
(b&w,
課程記錄,
教材記錄)
- Homeworks:
|
第十四週 (5/20) |
- Polymorphism (cont'd)
(b&w,
課程記錄,
教材記錄)
-
Quiz#2 Solution
(課程記錄,
教材記錄)
- Homeworks:
- review Chapter 14 (page 604-623)
- 負面思考: OOP 真的有好處嗎? 1,
2, 3
|
第十五週 (5/27) |
- UML 語法介紹,
(b&w)
參考資料,
UML 簡介
(課程記錄,
教材記錄)
- Advanced Inheritance
(b&w,
課程記錄,
教材記錄)
- Template
(b&w,
教材記錄)
- Homeworks:
- review Chapter 16
- review Vol2, Chapter 1
- 兩星期後 6/9 繳交 作業四
|
第十六週 (6/3) |
- Template (cont'd)
(b&w,
課程記錄,
教材記錄)
- Exception
(b&w,
課程記錄,
教材記錄)
- Advanced Inheritance (cont'd)
(b&w,
課程記錄,
教材記錄)
- Homeworks:
|
第十七週 (6/10) |
- State Diagram
(b&w,
課程記錄,
教材記錄)
- 前年度期末考試題
(課程記錄,
教材記錄)
- 去年度期末考試題及解答
|
第十八週 (6/17) |
期末考 (10:00-12:10)
教室分配表
請提早 10 分鐘到 B10, B12 找你的座位
參考答案
|