物件導向程式設計
Object-Oriented Programming
學期
109-2
學分
3
學分
當期課號
1026
永久課號
UEE1303
開課單位
電機工程學系
授課教師
蔡中庸
校區
光復
類別
選修
上課時間表
| 節 | 週一 | 週四 |
|---|---|---|
2 09:00–09:50 | 物件導向程式設計 EE105 | |
5 13:20–14:10 | 物件導向程式設計 EE105 2 節連堂 | |
6 14:20–15:10 | ||
A 18:30–19:20 | 物件導向程式設計 EE105 3 節連堂 | |
B 19:30–20:20 | ||
C 20:30–21:20 |
* 根據陽明交大上課時間表所列
概述
介紹C++語言進階的程式設計包含函數指標、Record 的設計、一般的建檔 及讀檔的程式、Direct Access File的建檔及讀檔的程式、Linked List的設計、基本的物件導向程式設計、及配合音效及動態繪圖等。以訓練學生具有設計傳統的小型軟體作品的能力。
先修科目
計算機概論與程式設計 開學第一星期, 所有修課同學都需要作最基本的程式檢定 以避免無法達到學習效果. 主要考最基本的程式設計 Loop, Array, Function
教學方式
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 Basics 2. UNIX File Structure 3. Redirection and Pipes 4. Using C++ compiler on Unix 5. Applications of Arrays |
| 第 2 週 | 1. Selection Sort 2. Bubble Sort |
| 第 3 週 | 1. Sequential Search 2. Binary Search 3. Vector Type |
| 第 4 週 | 1. Fundamentals of Strings and Characters 2. Strings and Pointers 3. Characters and Pointers 4. C-String Handling Library |
| 第 5 週 | 1. Structure Definition 2. Elements of Structure Processing 3. Arrays and Structures 4. Using Structures with Functions |
| 第 6 週 | 1. Enumeration and Union 2. Low Level Application: The Access of the CPU register 3. Concept of ROM Bios |
| 第 8 週 | 1. The Concept of File Processing 2. Files and Streams 3. Text Files 4. Creating a Sequential Access File 5. Reading/Writing data from a Sequential File |
| 第 9 週 | 1. Binary File 2. Hash function 3. Creating a Direct Access File |
| 第 10 週 | 1. Reading/Writing Data from a Direct Access File 2. Double Indirection: Pointers to Pointers 3. Pointer and Structure |
| 第 11 週 | 1. Dynamic Memory Allocation 2. Function Pointers 3. Arrays of Pointers to Functions |
| 第 12 週 | 1. Dynamic Data Structures 2. Creating Forward Linked Lists: Queue |
| 第 13 週 | 1. Creating Backward Linked Lists: Stack 2. Searching the Linked List 3. Reversing the Linked List |
| 第 14 週 | 1. Operations on the Linked List 2. Text Mode Function 3. Setting up Graphics Mode 4. Viewports and Coordinates 5. Graphics Mode Function 6. Drawing and Filling Objects 7. Capturing and Restoring Graphics Images |
| 第 15 週 | 1. Using Multiple Display Pages 2. Sound 3. Delay and Sleep 4. Creating the Song 5. Animation |
| 第 16 週 | 1. Function Overloading 2. Classes and Data Abstraction 3. Information Hiding |
| 第 17 週 | 1. Data Member and Function Member 2. Constructors 3. Invoking a Constructor |
| 第 18 週 | 1. Operator Overloading 2. Class Templates 3. Inheritance |
教科書
Lecture edited by Tsai, Chungyong
Office Hours
- 地點
- 工五館762室
- 時間
- 每星期兩小時
- 聯絡方式
- Tel:54367 e-mail: cytsai@mail.nctu.edu. tw