教學大綱表 (106學年度 第2學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 程式設計(一)
(英文) Computer Programming
開課單位
Departments
資訊經營學系
課程代碼
Course No.
N1251C
授課教師
Instructor
陳建志
學分數
Credit
3.0 必/選修
core required/optional
選修 開課年級
Level
大二
先修科目或先備能力(Course Pre-requisites):
課程概述與目標(Course Overview and Goals): 以Java語言培養學生程式設計能力。
教科書(Textbook) P. Deitel and H. Deitel, 2015, "Java How to Program, Late Obejcts Version," 10 ed., Pearson. ISBN: 1292019360
參考教材(Reference) 陳錦輝,"掌握Java SE8程式設計──Lambda的逆襲",博碩文化,2015,ISBN: 978-986-434-018-7
課程大綱 Syllabus 學生學習目標
Learning Objectives
單元學習活動
Learning Activities
學習成效評量
Evaluation
備註
Notes

No.
單元主題
Unit topic
內容綱要
Content summary
1 Introduction to computers, the Internet and Java 1, computer organization
2, Machine VS assembly VS high-level languages
3, Programming and Java
4, A typical Java development environment
1, 能述敘計算機組織之六大單元
2, 區別各種不同階層的語言
3, 能說明Java語言的特性
4, 能操作Java開發環境之基本功能
 
2 Introduction to Java Applications: I/O and OPs 1, First program in Java
2, printf
3, Data types
4, E-Tutor testing environment
1, 能完成具簡單輸入/出的程式
2, 能了解printf常用格式參數
 
3 Introduction to Java Applications: I/O and OPs 1, Memory concepts
2, Arithmetic
3, Equality and relational Ops
4, E-Tutor testing environment
1, 能了解變數與記憶體配置
2, 會E-Tutor的基本操作
 
4 Control statements 1 1, Algorithms
2, Pseudo code
3, Control structures
4, if ... else statement
1, 能設計出簡單問題的演算法,並以虛擬碼表示
2, 能活用if ... else敘述於程式設計
 
5 Control statements 2 1, while repetition
2, counter-controlled repetition vs sentinel-controlled repetition
1, 能運用重覆結構於程式設計
2, 能區別計數器控制與哨兵控制迴圈之不同
 
6 Control statements 3 1, nested control statements
2, compound assignment operators
3, increment and decrement operators
4, primitive types
1, 能設計出巢狀的控制結構
2, 能區別遞增、遞減運算子出現位置不同之不同
3, 熟記8種基本型態
 
7 Program Debugging 1, what are bugs
2, single step execution
3, assert
1, 能辨別編譯期與執行期錯誤
2, 能活用單步追蹤
3, 適時使用斷言
 
8 Control statements 4 1, designing counter-controlled repetition
2, for repetition statement
3, examples using the for statement
1, 能設計出計數器控制的迴圈
2, 能活用for迴圈
 
9 Mid. Exam. Mid. Exam. 1, 驗證半學期的學期成果  
10 Control statements 5 1, designing sentinel-controlled repetition
2, do ... while repetition statement
3, more examples of repetition statements
1, 能設計出哨兵控制的迴圈
2, 能活用do ... while迴圈
3, 能適當使用三種迴圈結構
 
11 Control statements 6 1, switch multiple-selection statement
2, break and continue statements
3, logical operators
4, structured programming summary
1, 能活用switch ... case
2, 能活用break & continue於迴圈中
3, 能區別 &, &&; |, || 之不同
 
12 Methods 1 1, program modules in Java
2, static method, static variables and class Math
3, declaring methods
1, 能將模組化的概念實踐於程設
2, 會運用Java提供的數學函式
3, 能自行宣告方法於程設
 
13 Methods 2 1, method-call stack
2, argument promotion and casting
3, Java API packages
4, scope of declarations
5, method overloading
1, 能將模組化的概念實踐於程設
2, 會運用Java提供的數學函式
3, 能自行宣告方法於程設
 
14 Arrays 1 1, introduction
2, primitive types vs reference types
3, Arrays
4, declaring and creating arrays
5, examples using arrays
1, 能辨別基本與參考型態
2, 能解釋為什麼需要陣列
3, 能宣告並配置陣列
 
15 Arrays 2 1, examples using arrays
2, processing the array index out of bounds exception and the negative array size exception
3, passing arrays to methods
1, 能運用陣列當作程設時之資料結構
2, 能處置使用陣列時所發生之常見例外
3, 能分辨基本與參考型態於引數傳遞時之差異
 
16 Arrays 3 1, multidimensional arrays
2, variable-length argument lists
3, using command-line arguments
4, class Arrays
5, introduction to class ArrayList
1, 能宣告、配置、運用多維陣列當作程設時之資料結構
2, 能活運Java提供的Arrays
3, 能活運Java提供的ArrayList當需要可變動大小的陣列
 
17 Integration practices 1, Integration practices of this semaster 1, 能將本學期所學整合運用於程設時  
18 Final Exam. Final Exam. 1, 驗證整學期的學期成果  


教學要點概述:
1.自編教材 Handout by Instructor:
□ 1-1.簡報 Slides
□ 1-2.影音教材 Videos
□ 1-3.教具 Teaching Aids
□ 1-4.教科書 Textbook
□ 1-5.其他 Other
□ 2.自編評量工具/量表 Educational Assessment
□ 3.教科書作者提供 Textbook


成績考核 Performance Evaluation: 期末考:25%   期中考:25%   其他評量:15%   問答:5%   上機測驗:20%   作業:10%  

教學資源(Teaching Resources):
□ 教材電子檔(Soft Copy of the Handout or the Textbook)
□ 課程網站(Website)