國立嘉義大學112學年度第2學期教學大綱

課程代碼11223470033上課學制大學部
課程名稱物件導向程式設計實作 Practice of Object-Oriented Programming授課教師 (師資來源)許政穆(資工系)
學分(時數)1.0 (1.0)上課班級資工系1年甲班
先修科目必選修別選修
上課地點理工大樓 A16-415 授課語言國語
證照關係晤談時間星期2第5節~第6節, 地點:A16-516 (蘭潭校區理工大樓 516 室) 星期3第7節~第8節, 地點:A16-516 (蘭潭校區理工大樓 516 室)
永續發展目標[SDGs]之關聯性優質教育
課程大網網址https://web085004.adm.ncyu.edu.tw/Syllabus/Syllabus_Rpt.aspx?CrsCode=11223470033
備 註
本課程之教學主題、內容或活動是否與性別平等議題有相關之處:否本課是否使用原文教材或原文書進行教學:否

◎系所教育目標:
為配合國家建設及產業發展之需要,本系以培育中高級資訊科技人才為目的。在教學理念上除了注重理論的探討之外並強調實際動手的能力,以期培育出具有深厚學識基礎並能實際應用的資訊科技人才。在專業必修中涵蓋基礎理論、電腦硬體、作業系統、資料結構及計算機網路等方面,並有畢業專題製作,使學生紮實基礎,同時課程包含四個專業學程,兼顧學術及實務之分流與訓練。分別為一:軟體工程及知識工程學程、二:互動多媒體學程、三:網路及資訊安全學程、四:資訊系統開發實務學程,以期作為日後升學就業的準備。
◎核心能力關聯性
1.應用數理邏輯推理之能力2 關聯性稍弱
2.具備資訊軟體專業之能力5 關聯性最強
3.發掘、分析及解決問題之能力3 關聯性中等
4.現代資訊發展工具之使用與熟悉資訊應用系統之能力3 關聯性中等
5.資訊軟體或硬體創新設計與實作之能力2 關聯性稍弱
6.有效溝通與團隊合作之能力1 關聯性最弱
◎本學科內容概述:
物件導向程式設計實作的深碗課程主要是搭配本系大學部一年級下學期的物件導向程式設計課程進度與大學部一年級上學期的程式設計課程複習,強化資工系大一同學的程式設計實作能力。由於程式設計具有連貫性,將從C++的基本型別、四則運算、條件處理 (IF-THEN-ELSE)、迴圈 (FOR, WHILE)、函式 (FUNCTION)、指標 (POINTER)、陣列 (ARRAY)、結構(STRUCTURE),從 UVA、CPE、ITSA線上程式考題、課本例題、以及教師自編考題等收集大量題庫,並安排於電腦教室進行線上程式設計實作練習與測驗,協助同學建立更穩固的程式基礎。再配合物件導向程式設計課程進度規劃物件導向類型的線上程式設計實作練習與測驗,用以即時檢視學生的物件導向程式設計學習成效,作為物件導向程式設計課程的調整依據。因此透過深碗課程來強化學生學習物件導向程式設計,不僅能讓正式課程更專注於學科內容與程式技巧的知識傳達,而讓一學分的物件導向程式設計實作課程透過大量線上程式練習更具有做中學的學習成效。
◎本學科教學內容大綱:
本課程每週將安排於電腦教室進行實體的線上程式練習與檢定,含蓋進度包括大一上的程式設計複習與配合正式課程進度的線上程式設計練習與測驗,主題包括: 1. 資料型態與四則運算 2. 選擇處理、迴圈處理、邏輯處理與陣列使用 3. 函式、遞迴處理、與結構 4. 物件導向程式設計 - 類別、建構子、與物件宣告 5. 物件導向程式設計 – 朋友函數、朋友類別 6. 物件導向程式設計 – 運算子多載 7. 物件導向程式設計 – 繼承與多型 8. 物件導向程式設計 – 模板 9. 物件導向程式設計 - 例外處理 10. 物件導向程式設計 – STL使用 – vetcor、array、list、stack、queue、set、map
◎本學科學習目標:
1.結合正式課程物件導向程式設計提供高強度程式設計實作練習
2.透過系列上機考試安排強化學生程式設計的問題解決能力
◎教學進度:
週次主題教學內容教學方法
01
C++資料型態與四則運算1.複習C++資料型態與四則運算處理
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
02
選擇處理、迴圈處理、邏輯處理與陣列使用1.複習C++選擇處理、迴圈處理、邏輯處理與陣列使用
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
03
函式、遞迴處理、與結構1.複習函式、遞迴處理與結構
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
04
第一次上機考第一次上機考上機考。
05
類別、建構子、與物件宣告1.類別宣告、建構子宣告、物件使用
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
06
朋友函數、朋友類別1.朋友函數、朋友類別
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
07
運算子多載1.運算子多載
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
08
類別繼承1.類別繼承
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
09
期中考上機考期中考上機考期中考。
10
多型1.多型、虛擬函式
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
11
類別模板1.類別模板、抽象化處理
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
12
第二次上機考第二次上機考上機考。
13
例外處理1.例外處理
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
14
STL (I)1.STL – vector、array、list
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
15
第三次上機考第三次上機考上雞烤。
16
STL(II)1.STL – queue、priority_queue、deque
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
17
STL(III)1.STL – set、map
2.線上程式練習與測驗
作業/習題演練、操作/實作、講授。
18
期末上機考期末上機考期末考。
◎課程要求:
本課程需搭配資工系大一必修課程物件導向程式設計課程進度上課,未選上正課物件導向程式設計者切勿選課。
◎成績考核
課堂參與討論10%
小考20% : (三次上機考)
期中考25%
期末考25%
操作/實作20% : 線上程式練習與測驗
◎參考書目與學習資源
Textbook:
1. D. Dale, C. Wees, & T. Richards, Programming and Problem Solving with C++ (7th Edition), Jones & Bartlett Learning, 2023
References:
1. P. Deitel & H. Deitel, C++ How to Program (10th), Pesrson Global Edition.
2. D.S. Malik, C++ Programming from problem analysis to program design, ISBN:9789814792042
3. Savitch : Problem Solving with C++ 10/e
Online Judge
1. Online Judge, https://onlinejudge.org/
2. 大學程式能力檢定 歷屆考試, https://cpe.cse.nsysu.edu.tw/history.php
◎教材講義
請改以帳號登入校務系統選擇全校課程查詢方能查看教材講義
1.請尊重智慧財產權、使用正版教科書並禁止非法影印。
2.請重視性別平等教育之重要性,在各項學生集會場合、輔導及教學過程中,隨時向學生宣導正確的性別平 等觀念及尊重多元性別,並關心班上學生感情及生活事項,隨時予以適當的輔導,建立學生正確的性別平等意識。