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 

WeekCourse ContentCourse Video
Lecture 01Watch Online
Lecture 02Watch Online
Lecture 03Watch Online
Lecture 04Watch Online
Lecture 05Watch Online
Lecture 06Watch Online
Lecture 07Watch Online
Lecture 08Watch Online
Lecture 09Watch Online
Lecture10Watch Online
Lecture 11Watch Online
 

課程目標

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