| 課程大綱 Syllabus |
學生學習目標 Learning Objectives |
單元學習活動 Learning Activities |
學習成效評量 Evaluation |
備註 Notes |
序 No. | 單元主題 Unit topic |
內容綱要 Content summary |
| 1 | Chapter 01 Java程式語言之發展(電腦、網路與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 | Chapter 02 Java程式整合開發環境(Java應用程式介紹;輸入/輸出與運算子) |
● printf()
● Data types
● Applications: I/O and OPs
● Memory concepts and variables declaring
● Arithmetic OPs
● Equality and relational OPs |
● 能完成含有簡單輸入/出的程式
● 能了解printf常用格式參數
● 能了解為什麼要有資料型態
● 能了解記憶體配置與能於程式中宣告變數
● 能運用算術運算及關係運算於編程 |
講授 實作
|
|
|
| 3 | Chapter 03 程式設計概念與Java程式設計(控制敘述:if ... else (I))、Chapter 04 變數、資料型態與輸入/輸出處理 |
● Algorithms
● Pseudocode
● Control structures
● if single-selection statement
● if ... else double-selection statement |
● 瞭解基本的解題技巧
● 能設計出簡單問題的演算法,並以虛擬碼表示
● 能活用if和if ... else敘述於程式設計 |
講授 實作
|
|
|
| 4 | Chapter 04 變數、資料型態與輸入/輸出處理、Chapter 05 選擇控制基礎概念(控制敘述:if ... else (II)) |
● Algorithms
● Pseudocode
● Control structures
● if single-selection statement
● if ... else double-selection statement |
● 瞭解基本的解題技巧
● 能設計出簡單問題的演算法,並以虛擬碼表示
● 能活用if和if ... else敘述於程式設計 |
講授 實作
|
|
|
| 5 | Chapter 05 選擇控制基礎概念(控制敘述:while) |
● while repetition
● counter-controlled repetition
● sentinel-controlled repetition
● nested control statements
● compound assignment OPs , ++ and --
● primitive types |
● 能運用while結構於編程
● 能區別計數器控制與哨兵控制迴圈之不同
● 能運用巢狀結構於編程
● 能區別遞增、遞減運算子位置不同之差別
● 能分辨Java的基本資料型態特性 |
|
|
|
| 6 | Chapter 05 選擇控制基礎概念(控制敘述:for) |
● designing counter-controlled repetition
● for repetition statement
● examples using the for statement
● debugging in repetition statements
● designing counter-controlled repetition
● for repetition statement
● examples using the for statement
● debugging in repetition statements |
● 能設計出計數器控制的迴圈
● 能活用for迴圈
● 能運用單步執行於迴圈除錯
● 能設計出計數器控制的迴圈
● 能活用for迴圈
● 能運用單步執行於迴圈除錯 |
講授 實作
|
|
|
| 7 | Chapter 06 選擇控制進階概念(控制敘述: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 | Chapter 06 選擇控制進階概念(控制敘述:switch) |
● switch statement
● the effect of a switch statement with or without break statement
● logical operators
● structured programming summary |
● 能活用switch ... case
● 能辨別 break 對 switch 的效果
● 能區別 &, && 及 |, || 之不同
● 能靈活運用控制結構於編程 |
講授 實作
|
|
|
| 10 | Chapter 07 程式執行、追蹤與除錯(方法)、Chapter 08 迴圈控制進階概念 |
● program modules in Java
● static methods, static fields
● class Math
● declaring methods |
● 能了解什麼是程式模組化
● 能了解類別方法與類別變數之特性
● 會運用Java提供的數學函式
● 能自行宣告方法於編程
● 能將模組化概念實踐於編程 |
講授 實作
|
|
|
| 11 | Chapter 08 迴圈控制進階概念 |
● method-call stack
● argument promotion and casting
● Java API packages |
● 瞭解方法呼叫堆疊如何支援方法的呼叫
● 瞭解什麼是傳值呼叫
● 瞭解關於引數提升及強制轉型
● 會呼叫Java提供的API於編程 |
講授 實作
|
|
|
| 12 | Chapter 09 巢狀迴圈設計與進階應用(陣列 (I))、Chapter 10 數學函式與內建方法 |
● primitive types vs reference types
● introduction to arrays
● declaring and creating arrays
● examples using arrays |
● 能辨別基本與參考型態之差異
● 能解釋為什麼需要陣列
● 能宣告並配置陣列
● 能善用陣列於編程 |
講授 實作
|
|
|
| 13 | Chapter 11 方法、Chapter 12 一維陣列 |
● examples using arrays
● processing the array index out of bounds exception and the negative array size exception
● passing arrays to methods
● multidimensional arrays
● variable-length argument lists
● using command-line arguments |
●陣列當作編程時的資料結構、常見例外
●基本型態與參考型態的傳值呼叫於引數傳遞
●宣告、配置、運用多維陣列
●使用可變長度的引數列
●將命令列引數讀入到程式 |
|
|
|
| 14 | Chapter 12 一維陣列、Chapter 13 多維陣列 |
● class Arrays
● introduction to Collections and class ArrayList |
● 能活用Java提供的Arrays類別方法,進行常見的陣列操作
● 能活用Java提供的ArrayList類別,操作可動態調整大小之類陣列資料結構 |
講授 實作
|
|
|
| 15 | Chapter 14 例外處理 (Integration practices) |
● Integration practices of this semaster |
● 能將本學期所學整合運用於編程 |
講授 實作
|
|
|
| 16 | 期末考 |
● Final Exam |
● 驗證整學期的學習成效 |
|
期末考
|
|