課程代碼 |
30D1DW01
|
課程中文名稱 |
進階程式設計實務
|
課程英文名稱 |
Advanced Computer Programming
|
學分數 |
3.0
|
必選修 |
必修
|
開課班級 |
四技電子一丁
|
任課教師 |
張萬榮
|
上課教室(時間) |
週五
|
第7節
|
(J405)
|
週五
|
第8節
|
(J405)
|
週五
|
第9節
|
(J405)
|
|
課程時數 |
3
|
實習時數 |
3
|
授課語言 |
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. 靜態的多型
|
英/日文課程大綱 |
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
|
課程進度表 |
1 (09/15~09/21) 課程介紹 2 (09/22~09/28) 第二章 C程式設計入門 3 (09/29~10/05) 第三章 結構化程式設計開發 4 (10/06~10/12) 第三章 結構化程式設計開發 5 (10/13~10/19) 第四章 C程式控制 6 (10/20~10/26) 第四章 C程式控制 7 (10/27~11/02) 第一次期中上機考 8 (11/03~11/09) 第四章 C程式控制 9 (11/10~11/16) 第五章 函式 10 (11/17~11/23) 第五章 函式 11 (11/24~11/30) 第五章 函式 12 (12/01~12/07) 第二次期中上機考 13 (12/08~12/14) 第六章 陣列 14 (12/15~12/21) 第六章 陣列 15 (12/22~12/28) 第七章 指標 & 期末專題 16 (12/29~01/04) 第七章 指標 & 期末專題 17 (01/05~01/11) 期末專題 18 (01/12~01/18) 期末考上機考 & 期末專題
|
課程融入SDGs |
|
期考調查 |
期中考(第9週)考試方式 |
上機考
|
期末考(第18週)考試方式 |
上機考
|
其他週考試考試週次與方式 |
上機考
|
|
教學方式與評量方式 |
課程學習目標 | 教學方式 | 評量方式 |
訓練Java程式設計專業技能解決工程問題之能力解題技巧與應用。 |
課堂講授
|
實作
(
平時
)
|
以JDK(Java Development Kit),培養學生軟體的開發能力。 |
課堂講授
|
實作
(
平時
)
實作
(
期中
)
|
介紹C相關的網站,使學生能自行學習 |
課堂講授
|
實作
(
期中
)
|
培養Java程式相關應用實務之分析與設計能力。 |
課堂講授
|
實作
(
期中
)
實作
(
期末
)
|
|
指定用書 |
書名 |
C程式設計藝術
|
作者 |
Paul Deitel, Harvey Deitel 原著;全華研究室 編譯;
|
書局 |
全華圖書股份有限公司
|
年份 |
2013
|
國際標準書號(ISBN) |
978-986-280-236-6
|
版本 |
7
|
請同學尊重智慧財產權,使用正版教科書,不得非法影印,以免觸犯智慧財產權相關法令
。 |
參考書籍 |
|
教學軟體 |
Dev-C++, Open CV
|
課程規範 |
本課程之成績考核方式,包含作業、兩次期中考、期末考、與期末專題。期末專題以2~3人為一組,為成績考核之重要依據。作業繳交須於特定時間內繳交,否則不予計分。
|