課程代碼 |
G0D16O01
|
課程中文名稱 |
程式設計檢定輔導
|
課程英文名稱 |
Tutoring of Computer Programming Certification
|
學分數 |
3.0
|
必選修 |
選修
|
開課班級 |
四技資工四甲,四技資工四乙
|
任課教師 |
林泓宏
|
上課教室(時間) |
週四
|
第2節
|
(C304)
|
週四
|
第3節
|
(C304)
|
週四
|
第4節
|
(C304)
|
|
課程時數 |
3
|
實習時數 |
0
|
授課語言 |
1.華語
2.英語
|
輔導考證 |
無
|
課程概述 |
以輔導同學通過資工系「程式設計能力檢定」畢業門檻為目標。從基礎的 C/C++ 程式語言複習開始,引導同學逐步熟悉程式設計思維、程式設計技巧、資料結構等主題,並透過如 ITSA 之程式競賽解題輔導,以及程式專題製作,強化程式設計之實務解題能力。
|
先修科目或預備能力 |
C/C++
|
課程學習目標與核心能力之對應
|
編號 | 中文課程學習目標 | 英文課程學習目標 | 對應系指標 |
1
|
能熟悉 C/C++ 程式設計語法
|
|
1 工程知識
|
2
|
能了解程式設計技巧與基本資料結構
|
|
3 實務能力
|
3
|
能構思求解初階程式競賽之考題
|
|
2 資訊能力
|
4
|
能養成良好程式撰寫習慣
|
|
7 職業倫理
|
|
就業力培養目標 |
|
校指標 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
專業知識 |
實務技能 |
資訊能力 |
整合創新 |
外語能力 |
熱誠抗壓 |
表達溝通 |
敬業合群 |
人文素養 |
服務關懷 |
|
30% |
30% |
30% |
0% |
0% |
0% |
0% |
0% |
0% |
10% |
|
系指標 |
1 |
3 |
2 |
4 |
|
|
5 |
6 |
8 |
7 |
|
工程知識 |
實務能力 |
資訊能力 |
規劃整合 |
|
|
表達溝通 |
管理合作 |
社會人文 |
職業倫理 |
|
30% |
30% |
30% |
0% |
|
|
0% |
0% |
0% |
10% |
|
中文課程大綱 |
1. C 程式語言回顧 2. C++ 程式語言回顧 3. 結構化程式設計思維引導 4. 物件導向程式設計思維引導 5. 基本資料結構回顧 6. 資料結構程式設計實務 7. 程式競賽考題之實務解題 8. 程式應用專題製作
|
英/日文課程大綱 |
1.Review of C programming language 2.Review of C++ programming language 3.Computational thinking in structural programming 4.Computational thinking in object-oriented programming 5.Review of basic data structures 6.Practices of basic data structures 7.Programming problem solving 8.Programming projects
|
課程進度表 |
本課程為資工系「程式設計能力檢定」輔導課程。
*. 課程主題介紹與課程評量規範 *. 計算思維 *. 程式設計回顧與基本資料型態 Basic Data Types ==> "char": symbol and value / array / null-terminated string ==> ITSA 31 Problem 1 鍵盤壞了: 練習字元符號與數值之間的轉換 ==> ITSA 18 Problem 3 英文字母 Histogram
*. 迴圈 Loops ==> 用 for / while / do-while 實作九九乘法表; 說明何為起始條件, 停止條件, 反覆條件. ==> 1D/2D Array, Pointer, Indices; 二維陣列索引表示練習 ==> ITSA 33 Problem 4 圈圈叉叉 ==> ITSA 28 Problem 5 Wu-Zi-Qi (五子棋) ==> ITSA 26 Problem 3 迴文判別 ==> ITSA 31 Problem 4 迴文字串 ==> ITSA 27 Problem 3 判斷數字 N 出現在另一個數字 M 中的次數 ==> ITSA 27 Problem 5 Maximum Consecutive Sum ==> ITSA 19 Problem 4 分兩份 (20131025 期中考題 5) ==> ITSA 24 Problem 1 最少派車數 ==> ITSA 26 Problem 4 約瑟夫問題
*. 基本輸入輸出 Basic I/O ==> printf / scanf / cout / cin ==> 1D 動態記憶體配置與刪除 ==> ITSA 32 Problem 2 尋找並取代字 ==> ITSA 01 Problem 1 三角形判別 ==> 讀入一列的數字輸入, 該列中有不定個數的數字, 存在一陣列裡頭, 直到遇到 Enter 為止. 輸出: 印出該列數字的個數 ==> 建構 n 個 double 數值的動態陣列 arrNum[],以 n=103 為例,使得 arrNum[0] = 0.0; arrNum[1] = 1.1; ...; arrNum[10] = 10.10; ...; arrNum[103] = 103.103; ==> ITSA 22 Problem 5 Maximum Sub-sequence Product ==> 2D 動態記憶體配置與刪除 ==> ITSA 30 Problem 1 平面魔方 ==> (意外處理)
*. 函數與結構化程式設計 Functions and Structural Programming ==> 函數的通用形式; 回傳數值型態一致性 ==> 參數傳遞 Call by value/address/reference ==> 模組化函數設計: ITSA 21 Problem 4 和與積相等 ==> 遞迴函數: N! 的計算 - 迴圈與遞迴形式比較 ==> ITSA 31 Problem 3 Minimum Steps ==> ITSA 20 Problem 4 填空的方式: C^n_r ==> ITSA 29 Problem 1 帕斯卡三角形 ==> ITSA 20 Problem 3 整數集合之交集與聯集
*. 結構、類別與排序 Struct, Class and Sorting ==> 結構與類別 ==> ITSA 21 Problem 5 Closest Pair Problem ==> ITSA 23 Problem 1 學生資料搜尋程式 ==> 排序方法介紹 ==> ITSA 24 Problem 4 誰是MVP ==> ITSA 28 Problem 1 藝人選秀 ==> ITSA 25 Problem 1 判斷序列是否經過排序 ==> ITSA 22 Problem 1 Min-Heap
*. 期中上機考 *. 期中考解答與資料結構程式實作 ==> 如何自行設計 List/Queue/Stack/Tree
*. 基本資料結構 Basic Data Structures ==> C++ STL - Vector / List / Queue / Stack / Iterator ==> C++ STL Algorithm - Sorting ==> ITSA 33 Problem 3 Postfix Expressions (Stack) ==> ITSA 17 Problem 4 奇怪的算式 (前序轉中序) ==> ITSA 20 Problem 1 還是要中序 ==> ITSA 33 Problem 5 Maximum Product (List) ==> ITSA 27 Problem 1 沙漠綠洲 (Vector and Recursion)
*. 基本數學問題求解 ==> 礦石加熱問題 ==> ITSA 26 Problem 2 Body Adiposity Index (BAI) ==> 輾轉相除法 Euclidean Algorithm; GCD / LCM ==> ITSA 30 Problem 4 堆積木: GCD / LCM ==> ITSA 21 Problem 3 不同基底整數轉換 ==> ITSA 27 Problem 2 Matching Points in the Plane (Recursion) ==> ITSA 21 Problem 1 坑洞路面 ==> ITSA 23 Problem 5 Recurring Decimal (循環小數)
*. 經由遞迴產生列舉結果 Enumerations by Recursion ==> Power set and coding ==> ITSA 27 Problem 4 列印包含特定元素的子集合 ==> ITSA 33 Problem 2 字典排序 ==> ITSA 24 Problem 2 Computing the Permutations of Elements in the Subsets of a Set
*. 動態規劃, Dynamic Programming ==> All Pairs Shortest Paths ==> ITSA 33 Problem 1 排隊購票 ==> ITSA 31 Problem 5 Pairing with leader ==> ITSA 15 Problem 4 Group without direct leaders ==> ITSA 18 Problem 5 How many leaders? ==> ITSA 19 Problem 5 Recursive LCS
*. 期末上機考
|
課程融入SDGs |
|
期考調查 |
期中考(第9週)考試方式 |
程式設計上機考
|
期末考(第18週)考試方式 |
程式設計上機考
|
其他週考試考試週次與方式 |
(不定)
|
|
教學方式與評量方式 |
課程學習目標 | 教學方式 | 評量方式 |
能熟悉 C/C++ 程式設計語法 |
課堂講授
|
作業
(
平時
)
|
能了解程式設計技巧與基本資料結構 |
課堂講授
|
實作
(
期中
)
|
能構思求解初階程式競賽之考題 |
課堂講授
|
實作
(
期末
)
|
能養成良好程式撰寫習慣 |
實作演練
|
日常表現
(
平時
)
|
|
指定用書 |
書名 |
大學程式能力檢定 CPE 祕笈
|
作者 |
林盈達、黃世昆、楊昌彪、葉正聖、謝育平
|
書局 |
美商麥格羅‧希爾 (McGraw Hill)
|
年份 |
2013
|
國際標準書號(ISBN) |
978-986-157-941-2
|
版本 |
初版一刷
|
請同學尊重智慧財產權,使用正版教科書,不得非法影印,以免觸犯智慧財產權相關法令
。 |
參考書籍 |
|
教學軟體 |
Dev C++; Microsoft Visual C++
|
課程規範 |
*. 開課對象:主要是針對尚未通過程式設計能力檢定的同學而開設。 *. 課程目標:輔導同學答對 ITSA 競賽考題累計 2 題以上 *. 課程要求:1. 準時到課; 2. 寫筆記; 3. 定期參加 ITSA/CPE 程式競賽。
|