教學大綱表 Syllabus
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 程式語言
(英文) Programming Language
開課單位
Departments
機械與材料工程學系
課程代碼
Course No.
X2020A
授課教師
Instructor
吳俊瑩
學分數
Credit
3.0 必/選修
core required/optional
必修 開課年級
Level
大二
先修科目或先備能力Course Pre-requisites:
課程概述與目標 Course Overview and Goals: 培養學生基本C/C++撰寫物件導向程式的能力,並利用Arduino基本應用為載具,透過實作提高學習興趣及學習效果,奠定後續與程式相關課程所需程式能力的基礎。
教科書
Textbook
高橋麻奈,C++物件導向程式設計實例入門,博碩文化。
及教師提供的電子書籍
參考教材
Reference
趙英傑,Arduino互動設計入門,旗標出版股份有限公司。
及教師提供的電子書籍
課程大綱
Syllabus
學生學習目標
Learning Objectives
單元學習活動
Learning Activities
學習成效評量
Evaluation
備註
Notes

Week
單元主題
Unit topic
內容綱要
Content summary
1 C/C++簡介 C/C++語言開發環境及基本程式架構 了解C/C++語言整合開發環境及程式基本架構、原始碼、編譯及執行程序。  
2 變數及基本運算子 1.變數常數資料的宣告
2.基本運算子及運算子優先順序
3.二、八、十、十六進位資料轉換
1.變數及常數資料型態的種類、宣告、初始值設定。
2.基本資料運算子及運算子執行的優先順序。
3.二、八、十、十六進位的資料轉換。
  • 上機實習
  •  
    3 判斷、迴圈 邏輯判斷及重複運算迴圈語法 邏輯判斷(if、if-else、if-else-if、swicth-case等)
    重複運算迴圈語法(for、do-while、while等)、巢狀迴圈
  • 上機實習
  •  
    4 字串與陣列 1.一維與多維陣列宣告、初始化及運用
    2.字串、初始化及運用
    1.學習一維與多維陣列宣告、初始化及運用,利用迴圈存取與運算
    2.學習字串、初始化及運用,字串處理的系統功能。
  • 上機實習
  •  
    5 指標、別名 1.指標與別名資料以及二者差異
    2.指標與陣列
    3.動態記憶體配置
    1.指標與別名資料的宣告、設定與運算,指標與別名二者差異。
    2.指標與陣列的關係與混用
    3.利用指標進行動態記憶體配置及運算。
     
    6 函數(一) 1.函數定義、語法、參數資料預設值
    2.參數資料的傳遞:傳值、傳位址、傳別名
    1.函數定義、語法、參數列資料預設值
    2.參數資料的傳遞方式:傳值、傳位址、傳別名
     
    7 函數二 1 .inline函數及巨集函數
    2. 函數覆載
    3. 樣版函數
    1.inline函數及其與一般函數的差異。
    2.巨集函數定義、語法及符號運算概念。
    3.函數覆載及樣版函數的定義及運用,二者差異。
  • 上機實習
  •  
    8 自定資料型態(一) 1.結構資料的定義、宣告與使用
    2.結構與指標、函數參數、陣列及動態記憶體配置
    1.結構(struct)資料的定義、宣告與使用
    2.結構資料與指標、結構資料函數參數傳遞、結構陣列及動態記憶體配置
  • 期中考Midterm
  •  
    9 自定資料型態(二) 1. union資料的定義、宣告與使用
    2. enum資料的定義、宣告與使用
    1. union資料的定義、宣告與使用。union資料的應用(I/O、資料保密、快速複雜struct資料存取)
    2. enum資料的定義、宣告與使用
  • 上機實習
  •  
    10 C及C++基本檔案輸出輸入 1. c語言的格式化與未格式化之檔案輸入與輸出
    2. c++語言的格式化與未格式化之檔案輸入與輸出
    3. 二進位檔案的輸入與輸出
    1. c語言的檔案開檔、關檔、輸入與輸出
    2. c++語言檔案開檔、關檔、輸入與輸出
    3. 二進位檔案輸入與輸出,快速大量二進位資料輸入與輸出
     
    11 Arduino簡介 1.Arduino微電腦控制板簡介
    2.Arduino開發環境及安裝
    3.Arduino程式設計簡介
    1.Arduino微電腦控制板簡介、自動化與智慧化簡介
    2.Arduino整合開發環境、安裝、執行
    3.Arduino程式設計簡介,編寫程式、編譯、上傳、執行
     
    12 Arduino程式設計(一) Arduino程式結構、資料型態、運算子、比較與判斷、迴圈 Arduino程式結構、資料型態、運算子、比較與判斷、迴圈  
    13 Arduino程式設計(二) 函數、Arduino基本函數
    Arduino基本元件程式與應用
    函數、Arduino基本函數
    LED顯示程式設計
    超聲波感測器程式設計
    倒車感測及警告提醒程式設計
  • 上機實習
  • 專題Seminar
  •  
    14 類別及物件簡介(一) 1. 類別資料的定義、宣告與使用
    2. 建構函數、解構函數
    3. this指標、static資料與函數、const資料與函數
    4.類別與函數、類別與結構的差異
    1. 類別資料的定義、宣告與使用
    2. 建構函數、解構函數的宣告與函數覆載運用
    3. this指標、static資料與函數、const資料與函數
    4.類別與函數、類別與結構的差異
     
    15 類別及物件簡介(二) 1. 運算子覆載
    2. .繼承、多重繼承
    3. .friend 、虛擬與多型
    4. 函數樣版、類別樣版
    1. 運算子覆載
    2. .繼承、多重繼承
    3. .friend 、虛擬與多型
    4. 函數樣版、類別樣版
  • 期末考Final Exam
  •  

    教學要點概述 Overview of Teaching Points:
    教材編選 Teaching Materials: ■ 自編教材 Handout by Instructor ■ 教科書作者提供 Textbook
    評量方法 Evaluation: 期末考Final Exam:30%   期中考Midterm:30%   其他評量Others:10%   專題Seminar:10%   :10%   上機測驗Examination on Computer Operation:10%   作業Assignment:10%  
    教學資源 Teaching Resources: □ 教材電子檔 Soft Copy of the Handout or the Textbook □ 課程網站 Website
    扣考規定 The rule of being able to take the final exam of the course:http://eboard.ttu.edu.tw/ttuwebpost/showcontent-news.php?id=504