關閉視窗
南臺科技大學107學年度第1學期課程資訊
課程代碼 G0D15Q01
課程中文名稱 程式設計實務(一)
課程英文名稱 Computer Programming for Problem Solving and Applications (I)
學分數 2.0
必選修 選修
開課班級 四技資工四甲,四技資工四乙
任課教師 林泓宏
上課教室(時間)
週四 第3節 (C304)
週四 第4節 (C304)
課程時數 2
實習時數 0
授課語言 1.華語
輔導考證
課程概述 以輔導同學通過資工系「程式設計能力檢定」畢業門檻為目標。從基礎的 C/C++ 程式語言複習開始,引導同學逐步熟悉程式設計思維、程式設計技巧、資料結構等主題,並透過如 ITSA 之程式競賽解題輔導,以及程式專題製作,強化程式設計之實務解題能力。
先修科目或預備能力
課程學習目標與核心能力之對應
編號中文課程學習目標英文課程學習目標對應系指標
1 能熟悉 C/C++ 程式設計語法 1 工程知識
2 能了解程式設計技巧與基本資料結構 3 實務能力
3 能構思求解初階程式競賽之考題 4 規劃整合
4 能養成良好程式撰寫習慣 7 職業倫理
就業力培養目標
  校指標 1 2 3 4 5 6 7 8 9 10
  專業知識 實務技能 資訊能力 整合創新 外語能力 熱誠抗壓 表達溝通 敬業合群 人文素養 服務關懷
  30% 30% 0% 30% 0% 0% 0% 0% 0% 10%
  系指標 1 3 2 4 5 6 8 7
  工程知識 實務能力 資訊能力 規劃整合 表達溝通 管理合作 社會人文 職業倫理
  30% 30% 0% 30% 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
課程進度表 1. 課程主題介紹與課程評量規範
2. 程式設計回顧與基本資料型態 Basic Data Types
==> "char": symbol and value / array / null-terminated string
==> ITSA 31 Problem 1 鍵盤壞了: 練習字元符號與數值之間的轉換
==> ITSA 18 Problem 3 英文字母 Histogram
3. 迴圈 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 約瑟夫問題
4. (彈性週)
5. 基本輸入輸出 Basic I/O
==> printf / scanf / cout / cin
==> 1D 動態記憶體配置與刪除
==> ITSA 32 Problem 2 尋找並取代字
==> 1. 每列 3 個數字, 讀入多列的數字輸入, 直到讀不到任何輸入為止 (Ctrl+D). 輸出: 判斷每列的數字是否構成一個三角形. 2. 讀入一列的數字輸入, 該列中有不定個數的數字, 存在一陣列裡頭, 直到遇到 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 平面魔方
==> (意外處理)
6. 函數與結構化程式設計 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 整數集合之交集與聯集
7. 結構、類別與排序 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
8. 期中上機考
9. 期中考週停課
10. 期中考解答與資料結構程式實作
==> 如何自行設計 List/Queue/Stack/Tree
11. 基本資料結構 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)
12. 基本數學問題求解
==> 礦石加熱問題
==> 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 (循環小數)
13. 經由遞迴產生列舉結果 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
14. 動態規劃, 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
15. (彈性週)
16. (彈性週 or 期末考前複習)
17. 期末上機考
18. 期末考週停課
課程融入SDGs
期考調查
期中考(第9週)考試方式
期末考(第18週)考試方式
其他週考試考試週次與方式
教學方式與評量方式
課程學習目標教學方式評量方式
能熟悉 C/C++ 程式設計語法
課堂講授  
作業平時
能了解程式設計技巧與基本資料結構
課堂講授  
口頭報告平時
作業平時
能構思求解初階程式競賽之考題
課堂講授  
其他   -分組上台作解題講演
實作期中
實作期末
能養成良好程式撰寫習慣
實作演練  
日常表現平時
指定用書
書名 大學程式能力檢定 CPE 祕笈
作者 林盈達、黃世昆、楊昌彪、葉正聖、謝育平
書局 美商麥格羅‧希爾 (McGraw Hill)
年份 2013
國際標準書號(ISBN) 978-986-157-941-2
版本 初版一刷
請同學尊重智慧財產權,使用正版教科書,不得非法影印,以免觸犯智慧財產權相關法令
參考書籍 大學程式能力檢定 CPE 祕笈, 林盈達、黃世昆、楊昌彪、葉正聖、謝育平, 美商麥格羅‧希爾 McGraw Hill.
教學軟體 Dev C++; Microsoft Visual C++
課程規範