課程代碼 |
30D1BV01
|
課程中文名稱 |
進階程式設計實務
|
課程英文名稱 |
Advanced Computer Programming
|
學分數 |
2.0
|
必選修 |
必修
|
開課班級 |
四技系統一甲
|
任課教師 |
楊榮林
|
上課教室(時間) |
週四
|
第1節
|
(J401)
|
週四
|
第2節
|
(J401)
|
週四
|
第3節
|
(J401)
|
週四
|
第4節
|
(J401)
|
|
課程時數 |
4
|
實習時數 |
0
|
授課語言 |
1.華語
|
輔導考證 |
無
|
課程概述 |
本課程是針對具程式寫作經驗,及上過部分程式設計課程學生所設計的。經由不同的程式撰寫範例,來解說如物件導向及程序導向之設計方式,並闡述C與C++之差異。將於課程中,介紹高效能計算的設計概念及主要進階程式設計技巧,並希望南台科大的學生,能瞭解程式設計技巧在高效能計算中的重要性。
|
先修科目或預備能力 |
計算機程式(Introduction to Programming Language) with C or better
|
課程學習目標與核心能力之對應
|
編號 | 中文課程學習目標 | 英文課程學習目標 | 對應系指標 |
1
|
訓練Java程式設計專業技能解決工程問題之能力解題技巧與應用。
|
|
1 專業技能
|
2
|
以JDK(Java Development Kit),培養學生軟體的開發能力。
|
|
3 資訊能力
|
3
|
介紹C相關的網站,使學生能自行學習
|
|
5 終身學習
|
4
|
培養Java程式相關應用實務之分析與設計能力。
|
|
7 系統整合
|
|
就業力培養目標 |
|
校指標 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
專業知識 |
實務技能 |
資訊能力 |
整合創新 |
外語能力 |
熱誠抗壓 |
表達溝通 |
敬業合群 |
人文素養 |
服務關懷 |
|
30% |
0% |
30% |
30% |
0% |
0% |
0% |
0% |
0% |
10% |
|
系指標 |
1 |
2 |
3 |
4 |
7 |
|
6 |
8 |
|
9 |
5 |
|
專業技能 |
工程實務 |
資訊能力 |
整合創新 |
系統整合 |
|
熱誠抗壓 |
專案管理 |
|
社會責任 |
終身學習 |
|
30% |
0% |
30% |
0% |
30% |
|
0% |
0% |
|
0% |
10% |
|
中文課程大綱 |
中文課程大綱第 1 章 課程介紹 1. Unix/Linux 作業系統 2. 開發環境介紹 3. 程序導向程式設計 第 2 章 指標 1. 指標的宣告與使用 2. 指標的指標 3. 指標與陣列 4. 字串陣列 5. 動態記憶體 6. 函數指標 第 3 章 動態記憶體的配置 1. 陣列的限制 2. 陣列的動態配置 3. 動態二維陣列與指標的指標 第 4 章 自訂資料型別 1. 自訂資料型別 2. 結構 3. 列舉型別 第 5 章 物件導向的基本觀念 1. 物件導向與C++ 2. 物件導向的基本觀念 3. 資料的封裝 4. 物件導向系統 第 6 章 類別與物件 1. 類別成員存取權限 2. 物件的生命週期 3. 靜態類別成員 4. 指標與物件 5. 物件參數的傳遞 6. 函式/方法的多載 7. 朋友類別/函數 第 7 章 類別嵌入與繼承 1. 類別嵌入 2. 結合與組合 3. 類別繼承 4. 基礎類別 5. 衍生類別 6. 類別型別轉換 7. 方法的覆載 第 8 章 同名異式 1. 抽象類別 2. 虛擬函式 3. 多重繼承 4. 訊息與多型 5. 靜態的多型 6. 動態的多型 第 9 章 標準類別庫與樣版 1. 資料流類別 2. 檔案的輸出/入類別 3. 標準字串類別 4. 字串物件的操作 5. 樣版函式 6. 樣版類別 第 10 章 例外與名稱空間 1. 例外簡介 2. 例外處理 3. 命名空間的定義 4. 命名空間的使用
|
英/日文課程大綱 |
Chapter 1. Course Introduction 1. Unix/Linux Operating Systems 2. Developing Environments 3. Procedural-oriented Programming Chapter 2. Pointers 1. Pointer Declarations and Usages 2. Pointer’s Pointer 3. Pointers and Arrays 4. String Arrays 5. Dynamic Memories 6. Function Pointers Chapter 3. Dynamic Memory Allocation 1. Limitation of Arrays 2. Dynamic Arrays 3. Dynamic 2-demension Arrays and Pointer’s Pointer Chapter 4. User Defined Types 1. User Defined Types 2. Structures 3. Enumeration Types Chapter 5. Object-Oriented Programming Fundamentals 1. OOP and C++ 2. OOP’s Fundamental Concepts 3. Data Encapsulations 4. OOP Systems Chapter 6. Classes and Objects 1. Class Members Accessibility 2. Objects’ Life Cycles 3. Static Class Members 4. Pointers and Objects 5. Passing Objects as Parameters 6. Function/Method Overloading 7. Friend Classes and Functions Chapter 7. Class Embedding and Inheritance 1. Class Embedding 2. Associations and Composition 3. Class Inheritance 4. Base Classes 5. Derived Classes 6. Classes Type Casting 7. Method Overriding Chapter 8. Polymorphism 1. Abstract Base Classes 2. Virtual Functions 3. Multiple Inheritance 4. Messages and Polymorphism 5. Static Polymorphism
|
課程進度表 |
第一、二週 程式語言與Java語言簡介、環境建設 第三、四週 資料型態、變數、註解、運算子 第五週 迴圈控制、流程控制 第六、七週 數字、字元、字串、陣列 第八週 期中上機考 第十、十一週 正規表示式(Regular Expression) 第十二、十三、十四週 檔案讀寫(Files and I/O)、例外處理(Exception)、內部類別(Inner class) 第十五週 繼承(Inheritance) 第十六週 覆寫(Overriding)、多型(Polymorphism) 第十七週 期末上機考
|
課程融入SDGs |
|
期考調查 |
期中考(第9週)考試方式 |
|
期末考(第18週)考試方式 |
|
其他週考試考試週次與方式 |
|
|
教學方式與評量方式 |
課程學習目標 | 教學方式 | 評量方式 |
訓練Java程式設計專業技能解決工程問題之能力解題技巧與應用。 |
課堂講授
|
作業
(
平時
)
實作
(
期中
)
實作
(
期末
)
|
以JDK(Java Development Kit),培養學生軟體的開發能力。 |
課堂講授
|
作業
(
平時
)
|
介紹C相關的網站,使學生能自行學習 |
課堂講授
實作演練
|
作業
(
平時
)
|
培養Java程式相關應用實務之分析與設計能力。 |
課堂講授
|
作業
(
平時
)
|
|
指定用書 |
書名 |
|
作者 |
|
書局 |
|
年份 |
|
國際標準書號(ISBN) |
|
版本 |
|
請同學尊重智慧財產權,使用正版教科書,不得非法影印,以免觸犯智慧財產權相關法令
。 |
參考書籍 |
|
教學軟體 |
|
課程規範 |
|