Object-Oriented Programming

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

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


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

For perfect learning results, please buy textbooks!

Instructor(s) College of Electrical and Computer Engineering Prof. Hung-Pin(Charles) Wen
Course Credits 3 Credits
Academic Year 100 Academic Year
Level Freshman
Prior Knowledge Introduction to Computer Science and Programming (in C/C++) 
Related Resources Course Video   Course Syllabus   Course Calendar   Laboratory Manuals   Lecture Source Code 

課程目標

了解物件導向程式設計(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