教學大綱表 (112學年度 第2學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 程式設計(一)
(英文) Computer Programming
開課單位
Departments
資訊經營學系
課程代碼
Course No.
N1251A
授課教師
Instructor
胡志堅
學分數
Credit
3.0 必/選修
core required/optional
必修 開課年級
Level
大一
先修科目或先備能力(Course Pre-requisites):
課程概述與目標(Course Overview and Goals): 以Java語言培養學生程式設計能力。
教科書(Textbook) P. Deitel and H. Deitel, 2020, "Java How to Program, Late Obejcts," 11 ed., Pearson. ISBN: 9781292273730
參考教材(Reference) 張子庭,JAVA程式設計藝術(第十版)(國際版),出版商:全華。ISBN13:9789862803431
圖書館電子書(E-book of the Library) http://www.airitibooks.com/detail.aspx?PublicationID=P20120927007
課程大綱 Syllabus 學生學習目標
Learning Objectives
單元學習活動
Learning Activities
學習成效評量
Evaluation
備註
Notes

No.
單元主題
Unit topic
內容綱要
Content summary
1 電腦、網路與Java簡介 ● Computer organization
● Machine vs Assembly vs High-level languages
● Programming and Java
● A typical Java development environment
● First program in Java
● 能述敘計算機組織之六大單元
● 區別各種不同階層的語言
● 能說明Java語言的特性
● 能操作Java開發環境之基本功能
上機實習
講授
實作
 
2 Java應用程式介紹;輸入/輸出與運算子 ● printf()
● Data types
● Applications: I/O and OPs
● Memory concepts and variables declaring
● Arithmetic OPs
● Equality and relational OPs
● 能完成含有簡單輸入/出的程式
● 能了解printf常用格式參數
● 能了解為什麼要有資料型態
● 能了解記憶體配置與能於程式中宣告變數
● 能運用算術運算及關係運算於編程
上機實習
講授
實作
 
3 控制敘述:if ... else ● Algorithms
● Pseudocode
● Control structures
● if single-selection statement
● if ... else double-selection statement
● 瞭解基本的解題技巧
● 能設計出簡單問題的演算法,並以虛擬碼表示
● 能活用if和if ... else敘述於程式設計
上機實習
講授
實作
 
4 控制敘述:while ● while repetition
● counter-controlled repetition
● sentinel-controlled repetition
● nested control statements
● compound assignment OPs , ++ and --
● primitive types
● 能運用while結構於編程
● 能區別計數器控制與哨兵控制迴圈之不同
● 能運用巢狀結構於編程
● 能區別遞增、遞減運算子出現位置不同之差別
● 能分辨Java的基本資料型態之特性
上機實習
講授
實作
 
5 控制敘述:for (I) ● designing counter-controlled repetition
● for repetition statement
● examples using the for statement
● debugging in repetition statements
● 能設計出計數器控制的迴圈
● 能活用for迴圈
● 能運用單步執行於迴圈除錯
上機實習
講授
實作
 
6 控制敘述:for (II) ● designing counter-controlled repetition
● for repetition statement
● examples using the for statement
● debugging in repetition statements
● 能設計出計數器控制的迴圈
● 能活用for迴圈
● 能運用單步執行於迴圈除錯
上機實習
講授
實作
 
7 控制敘述:do ... while ● designing sentinel-controlled repetition
● do ... while repetition statement
● break and comtinue statements
● more examples of repetition statements
● 能設計出哨兵控制的迴圈
● 能活用do ... while迴圈
● 能辨別break與continue是如何改變迴圈流程
● 能適當運用多種迴圈結構於編程
上機實習
講授
實作
 
8 期中考 ● Midterm Exam ● 驗證前半學期的學習成果 期中考
 
9 控制敘述:switch ● switch statement
● the effect of a switch statement with or without break statement
● logical operators
● structured programming summary
● 能活用switch ... case
● 能辨別 break 對 switch 的效果
● 能區別 &, && 及 |, || 之不同
● 能靈活運用控制結構於編程
上機實習
講授
實作
 
10 方法 ● program modules in Java
● static methods, static fields
● class Math
● declaring methods
● 能了解什麼是程式模組化
● 能了解類別方法與類別變數之特性
● 會運用Java提供的數學函式
● 能自行宣告方法於編程
● 能將模組化概念實踐於編程
上機實習
講授
實作
 
11 方法深入探討 ● method-call stack
● argument promotion and casting
● Java API packages
● 瞭解方法呼叫堆疊如何支援方法的呼叫
● 瞭解什麼是傳值呼叫
● 瞭解關於引數提升及強制轉型
● 會呼叫Java提供的API於編程
上機實習
講授
實作
 
12 陣列 (I) ● primitive types vs reference types
● introduction to arrays
● declaring and creating arrays
● examples using arrays
● 能辨別基本與參考型態之差異
● 能解釋為什麼需要陣列
● 能宣告並配置陣列
● 能善用陣列於編程
上機實習
講授
實作
 
13 陣列 (II) ● examples using arrays
● processing the array index out of bounds exception and the negative array size exception
● passing arrays to methods
● 能運用陣列當作編程時的資料結構
● 能處置使用陣列時所發生之常見例外
● 能分辨基本型態與參考型態的傳值呼叫於引數傳遞時之差異
上機實習
講授
實作
 
14 陣列 (III) & ArrayList ● multidimensional arrays
● variable-length argument lists
● using command-line arguments
● class Arrays
● introduction to Collections and class ArrayList
● 能宣告、配置、運用多維陣列當作編程時之資料結構
● 會使用可變長度的引數列
● 會將命令列引數讀入到程式中
● 能活用Java提供的Arrays類別方法,進行常見的陣列操作
● 能活用Java提供的ArrayList類別,操作可動態調整大小之類陣列資料結構
上機實習
講授
實作
 
15 Integration practices ● Integration practices of this semaster ● 能將本學期所學整合運用於編程 上機實習
講授
實作
彈性教學
 
16 期末考 ● Final Exam ● 驗證整學期的學習成效 期末考
彈性教學
 
彈性教學週活動規劃

No.
實施期間
Period
實施方式
Content
教學說明
Teaching instructions
彈性教學評量方式
Evaluation
備註
Notes
1 起:2024-05-01 迄:2024-05-31 5.小專題 Project Java領域小專題: 1.隨機選定題目; 2.根據選定題目,實作或分析探討該主題之程式設計; 3. 完成書面報告(word),以及PowerPoint; 4. 完成口頭報告 程式設計; 完成書面報告(word),以及PowerPoint; 完成口頭報告


教學要點概述:
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%   上機測驗:10%   作業:10%  

教學資源(Teaching Resources):
□ 教材電子檔(Soft Copy of the Handout or the Textbook)
□ 課程網站(Website)
教學相關配合事項: (融入教育部【教學實踐研究計畫】於教學,修課同學須配合研究計畫之規範)
課程網站(Website):Tronclass
扣考規定:http://eboard.ttu.edu.tw/ttuwebpost/showcontent-news.php?id=504