Object-Oriented Programming

物件導向程式設計

本課程是由 國立陽明交通大學電機工程學系 提供。

了解物件導向程式設計(OOP)觀念
應用C/C++語言解決各類工程問題
學習標準模版函式庫(STL)的使用
熟悉工作站系統(Linux/FreeBSD)基本操作


課程用書:
W. Savitch (WS), "Absolute C++," 4th ed., ISBN:0131365843, Addison Wesley, 2010.

為求學習成效完美,請購買課本!

授課教師 電機工程學系 溫宏斌老師
課程學分 3學分
授課年度 100學年度
授課對象 大學一年級學生
預備知識 Introduction to Computer Science and Programming (in C/C++) 
課程提供 課程影音   課程綱要   課程行事曆   實作課程   Lecture Source Code 

週次課程內容課程影音課程下載
Lecture 01線上觀看MP4下載
Lecture 02線上觀看MP4下載
Lecture 03線上觀看MP4下載
Lecture 04線上觀看MP4下載
Lecture 05線上觀看MP4下載
Lecture 06線上觀看MP4下載
Lecture 07線上觀看MP4下載
Lecture 08線上觀看MP4下載
Lecture 09線上觀看MP4下載
Lecture10線上觀看MP4下載
Lecture 11線上觀看MP4下載
 

課程目標

了解物件導向程式設計(OOP)觀念
應用C/C++語言解決各類工程問題
學習標準模版函式庫(STL)的使用
熟悉工作站系統(Linux/FreeBSD)基本操作

 

課程章節

章節
From C to C++
C++ Functions and Scopes
Pointers and References
Classes and Objects
Data Sharing and Member Functions
Operator Overloading
Inheritance
Polymorphism and Virtual Functions
Streams and File I/O
Template and STL


課程書目

W. Savitch (WS), "Absolute C++," 4th ed., ISBN:0131365843, Addison Wesley, 2010. (指定本)

 

參考書目

H. Deitel and P. Deitel (DD), "C++ How to Program," 7th ed., ISBN:0-13-611726-0, Pearson/Prentice Hall, 2010.
Goran Svenk(GS), "Object-Oriented Programming Using C++ for Engineering and Technology,," 1st ed., ISBN:0766838943, Delmar Cengage Learning, 2002.

 

評分標準

項目百分比
Exercises in Winter Vacation10%
Take-Home Programming Exercises20%
Weekly Quizzes (best 8 out of 12)10%
Laboratory Exercises20%
Midterm Examination20%
Final Examination30%

本課程行事曆提供課程進度與考試資訊參考。

學期週次
上課日期
參考課程進度

第一週

02/20
  • C/C++ Overview and OOP by Example
第二週02/27
  • National holiday
第三週03/05
  • Pointers and Refernces
第四週03/12
  • Classes (I): Basics
第五週03/19
  • Classes (II): Advanced Topics
第六週03/26
  • Understanding Friends and Overloading Operators
第七週04/02
  • National holiday
第八週04/09
  • Streams and File Input/Output
第九週04/16
  • Midterm Review or back-up week
第十週04/23
  • Midterm (Online Test)
第十一週04/30
  • Inheritance (I): Basics
第十二週05/07
  • Inheritance (II): Advanced Topics
第十三週05/14
  • Polymorphism: Virutal Functions
第十四週05/21
  • Templates
第十五週05/28
  • Standard Template Library (STL) (I)
第十六週06/04
  • Standard Template Library (STL) (II) 
第十七週06/11
  • Final Review or back-up week
第十八週06/18
  • Final Exam (Paper Test+Online Test)

Laboratory Manuals

週次
參考授課進度
下載連接
第一週
02/20
C/C++ OverviewLAB_01
第二週
02/27
N/A 
第三週
03/05
ExerciseLAB_02
第四週
03/12
Pointer and ReferenceLAB_03
第五週03/19Constant Pointer and ClassLAB_04
第六週
03/26
Constructor and DestructorLAB_05
第七週
04/02
Holiday
第八週
04/09
Advanced Topics of classesLAB_06
第九週
04/16
Operator Overloading and Function overloadingLAB_07
第十週
04/23
Midterm (Online Test)
第十一週
04/30
Advanced Input and OutputLAB_08
第十二週
05/07
Inheritance (I)LAB_09
第十三週
05/14
Inheritance (II)LAB_10
第十四週
05/21
PolymorphismLAB_11
第十五週
05/28
TemplateLAB_12
第十六週
06/04
N/A
第十七週
06/11
STLLAB_13
第十八週
06/18
Final (Online Test)

Lecture Sourse code

週次
參考授課進度
下載連接
Lecture01C/C++ Overview and OOP by Example 
Lecture02Pointers and References 
Lecture03Classes (I): Basics 
Lecture04Classes (II): Advanced TopicsSource Code_04
Lecture05Understanding Friends and Overloading OperatorsSource Code_05
Lecture06Streams and File Input/OutputSource Code_06
Lecture07Inheritance (I): BasicsSource Code_07
Lecture08Inheritance (II): Advanced TopicsSource Code_08
Lecture09Polymorphism: Virtual FunctionsSource Code_09
Lecture10TemplatesSource Code_10
Lecture11Data Structure & Standard Template LibrarySource Code_11