教學大綱表 (112學年度 第2學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 程式語言
(英文) Programming Language
開課單位
Departments
機械與材料工程學系
課程代碼
Course No.
X2020B
授課教師
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

No.
單元主題
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.結構資料與指標、結構資料函數參數傳遞、結構陣列及動態記憶體配置
 
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顯示程式設計
超聲波感測器程式設計
倒車感測及警告提醒程式設計
 
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. 函數樣版、類別樣版
 
彈性教學週活動規劃

No.
實施期間
Period
實施方式
Content
教學說明
Teaching instructions
彈性教學評量方式
Evaluation
備註
Notes
1 起:0113-06-10 迄:0113-06-23 應用學習的C/C++程式語言應用到Arduino程式設計 完成以Arduino控制LED燈及聲波感測器,由LED燈的動作可以判定感測距離的遠近


教學要點概述:
1.自編教材 Handout by Instructor:
■ 1-1.簡報 Slids
□ 1-2.影音教材 Videos
□ 1-3.教具 Teaching Aids
■ 1-4.教科書 Textbook
□ 1-5.其他 Other
□ 2.自編評量工具/量表 Educational Assessment
□ 3.教科書作者提供 Textbook

成績考核 Performance Evaluation: 期末考:30%   期中考:30%   彈性教學:10%   上機測驗:10%   作業:20%  

教學資源(Teaching Resources):
■ 教材電子檔(Soft Copy of the Handout or the Textbook)
□ 課程網站(Website)
扣考規定:https://curri.ttu.edu.tw/p/412-1033-1254.php