Type of Credit: Required
Credit(s)
Number of Students
本課程以介紹物件導向程式設計的觀念,及C++這個物件導向的程式語言為主。以物件導向的方式設計及維護程式,已是軟體發展的主要趨勢,其重要性無庸置疑。而C++則是在系統開發中的重要的物件導向語言之一,對學過C語言的同學,C++是很自然的延伸。本課程著重程式設計的實做,因此修習者必須預期每週於課後花4-8小時寫作業。
建議先修課程:程式設計一
(以資科系大一必修學生為優先)
能力項目說明
修習完本課程後,學生應可學會物件導向以及泛型程式設計的概念以及如何以C++程式語言設計程式。
教學週次Course Week | 彈性補充教學週次Flexible Supplemental Instruction Week | 彈性補充教學類別Flexible Supplemental Instruction Type |
---|---|---|
Weeks |
Topics |
Chapters* |
Assignments |
Study Hours after Class |
|
1 |
Course Introduction |
|
assign #0 |
2hr |
|
2 |
(no class) |
|
|
|
|
3 |
Moving from C to C++ |
|
assign #1 |
5Hr |
|
4 |
Function and Reference |
Ch 9, 11 |
|
4Hr |
|
5 |
Class and Object |
Ch 18 |
assign #2 |
5Hr |
|
6 |
More on Classes |
Ch 23 |
assign #3 |
5Hr |
|
7 |
校際活動週 (no class) |
|
|
3Hr |
|
8 |
Operator Overloading |
Ch 28 |
assign #4 |
5Hr |
|
9 |
Midterm |
|
|
5Hr |
|
10 |
Inheritance |
Ch 20 |
assign #5 |
3Hr |
|
11 |
Advanced Inheritance |
Ch 26 |
assign #6 |
5Hr |
|
12 |
Templates |
Ch 29 |
|
4Hr |
|
13 |
C++ Stream Input/Output |
Ch 6, 14, 27 |
|
4Hr |
|
14 |
Advanced Topics |
Ch 21 |
assign #7 |
4Hr |
|
15 |
Standard Template Library |
|
|
3Hr |
|
16 |
Class Design | 3Hr | |||
17 |
modern c++ & programming paradigms |
|
|
|
|
18 |
Final Exam |
* 劉邦鋒(2023),由重構學習C++程式設計
References:
B. Stroustrup, A Tour of C++, 2nd Edition 2018 (3rd Edition 2022)
劉邦鋒,由重構學習C++程式設計,2023/06
B. Stroustrup, The C++ Programming Language, 4th Edition.
S. Lippman, C++ Primer, Fifth Edition.
S. Lippman (1999), Essential C++, Addison-Wesley Professional.
B. Eckel (2003), Thinking in C++, Volume 1 & 2, Prentice Hall.
C. Ou, Modern C++ Tutorial: C++11/14/17/20 On the Fly. https://github.com/changkun/modern-cpp-tutorial