物件導向程式設計
Object-Oriented Programming
學期
111-2
學分
3
學分
當期課號
515170
永久課號
EEEC10008
開課單位
電機工程學系
授課教師
蔡中庸
校區
光復
類別
選修
上課時間表
| 節 | 週一 | 週二 | 週四 |
|---|---|---|---|
2 09:00–09:50 | 物件導向程式設計 EE220 | ||
5 13:20–14:10 | 物件導向程式設計 EE220 2 節連堂 | ||
6 14:20–15:10 | |||
A 18:30–19:20 | 物件導向程式設計 EE220 3 節連堂 | ||
B 19:30–20:20 | |||
C 20:30–21:20 |
* 根據陽明交大上課時間表所列
概述
介紹C++語言進階的程式設計包含函數指標、Record 的設計、一般的建檔 及讀檔的程式、Direct Access File的建檔及讀檔的程式、Linked List的設計、基本的物件導向程式設計、及配合音效及動態繪圖等。以訓練學生具有設計傳統的小型軟體作品的能力。
先修科目
計算機概論與程式設計
教學方式
a. 使用學校New e3網站。 b. 物件導向程式設計除了每週三小時授課之外,每週另加沒有學分的3小時實驗課。實驗課程的規劃、內容、作業題目由老師設計提供 。另外由助教帶領,配合每週上課內容作上機操作的練習, 作業繳交等輔助教學。 c.程式設計的學習已經一學年,因此希望學生整合所學,搜集資料 作出一個軟體的game或者小型軟體系統。因此期末專題製作以兩人一組不僅讓學生能夠學習如何分工合作互相討論同時也能訓練如何將多個檔案link起來成為一個project file.大部份學生都很有興趣去作,採取比賽型式更能讓學生有機會觀摩別人的成品,而且讓大家更願意將期末專題製作作得更好。
評分方式
作業部份:有7次作業 考試部份:有3次考試: 第1次筆試及上機考 第2次筆試及上機考 第3次筆試及上機考 期末專題製作 實驗課(Homework& Lab)
課程大綱
- UNIX O.S.
- Applications of Arrays
- Characters and Strings
- Structures and Units
- File Processing
- Dynamic Memory Allocation and Function Pointers
- Linked List
- Text Mode, Graphics and Music
- Introduction to Object-Oriented Programming
週次計畫
| 週次 | 主題 |
|---|---|
| 第 1 週 | 1. UNIX Basics2. UNIX File Structure 3. Redirection and Pipes4. Using C++ compiler on Unix5. Applications of Arrays |
| 第 2 週 | 1. Selection Sort2. Bubble Sort |
| 第 3 週 | 1. Sequential Search2. Binary Search3. Vector Type |
| 第 4 週 | 1. Fundamentals of Strings and Characters2. Strings and Pointers3. Characters and Pointers4. C-String Handling Library |
| 第 5 週 | 1. Structure Definition2. Elements of Structure Processing3. Arrays and Structures4. Using Structures with Functions |
| 第 6 週 | 1. Enumeration and Union2. Low Level Application: The Access of the CPU register& #9 3. Concept of ROM Bios |
| 第 7 週 | 1. The Concept of File Processing2. Files and Streams3. Text Files4. Creating a Sequential Access File5. Reading/Writing data from a Sequential File |
| 第 8 週 | 1. Binary File 2. Hash function3. Creating a Direct Access File |
| 第 9 週 | 1. Reading/Writing Data from a Direct Access File2. Double Indirection: Pointers to Pointers3. Pointer and Structure |
| 第 10 週 | 1. Dynamic Memory Allocation2. Function Pointers3. Arrays of Pointers to Functions |
| 第 11 週 | 1. Dynamic Data Structures2. Creating Forward Linked Lists: Queue |
| 第 12 週 | 1. Creating Backward Linked Lists: Stack2. Searching the Linked List3. Reversing the Linked List |
| 第 13 週 | 1. Operations on the Linked List2. Text Mode Function3. Setting up Graphics Mode4. Viewports and Coordinates5. Graphics Mode Function6. Drawing and Filling Objects7. Capturing and Restoring Graphics Images |
| 第 14 週 | 1. Using Multiple Display Pages2. Sound3. Delay and Sleep4. Creating the Song5. Animation |
| 第 15 週 | 1. Function Overloading2. Classes and Data Abstraction3. Information Hiding |
| 第 16 週 | 1. Data Member and Function Member2. Constructors3. Invoking a Constructor |
| 第 17 週 | 1. Operator Overloading2. Class Templates3. Inheritance |
| 第 18 週 |
教科書
Lecture edited by Tsai, Chungyong
Office Hours
- 地點
- 工五館762室
- 時間
- 每星期兩小時
- 聯絡方式
- Tel:54367 e-mail: cytsai@mail.nctu.edu. tw