教學大綱表 (112學年度 第2學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 程式設計(二)
(英文) Computer Programming
開課單位
Departments
資訊經營學系
課程代碼
Course No.
N1252
授課教師
Instructor
陳建志
學分數
Credit
3.0 必/選修
core required/optional
選修 開課年級
Level
大三
先修科目或先備能力(Course Pre-requisites):程式設計(一)
課程概述與目標(Course Overview and Goals):以Java為語言,進行編程能進階訓練、及物件導向編程、例外處理及Swing視窗編程。
教科書(Textbook) Deitel, P. & Deitel, H. (2015). Java How to Program, Late Obejcts Version, 10 ed., Pearson Education. ISBN: 9781292019369
參考教材(Reference) 掌握Java SE11程式設計,作者: 陳錦輝著,出版商:博碩。出版日期:2019/07/31,ISBN: 9789864344109
課程大綱 Syllabus 學生學習目標
Learning Objectives
單元學習活動
Learning Activities
學習成效評量
Evaluation
備註
Notes

No.
單元主題
Unit topic
內容綱要
Content summary
1 Review of Methods Program modules in Java.
static methods, static variables and class Math
declaring methods
notes on declaring and using methods
method-call stack and stack frames
Declare your own methods and call them.
Use common Math methods from the Java API
Understand how the method-call/return mechanism is supported by the method-call stack.
 
2 Review of Methods argument promotion and casting
Java API packages
case study: random-number generation
introducing enum types
scope of declarations
method overloading
Learn about argument promotion and casting.
Use secure random-number generation.
Understand how the visibility of declarations is limited to specific regions of programs.
Understand what method overloading is and how to create overloaded methods.
 
3 review of arrays primitive types VS reference types
arrays
declaring & creating arrays
examples using arrays
exception handling: processing the incorrect response
enhanced for statement
passing arrays to methods: pass-by-value vs pass-by-reference
multidimensinal arrays
variable-length argument lists
using command-line arguments
class Arrays
Learn what primitive types & reference types are.
Learn what arrays are.
Use arrays to store data in and retrieve data from lists and tables of values.
Declare arrays, initialize arrays and refer to individual elements of arrays.
Pass arrays to methods.
Declare and manipulate multidimensional arrays.
Use variable-length argument lists
Read command-ling arguments into a program.
Use the methods of class Arrays.
 
4 Introduction to classes and objects introduction
instance variables, set methods and get methods
default and explicit initialization for instance variables
How to declare a class & use it to create an object.
How to implement a class's behaviors as methods.
How to implement a class's attributes as instance variables.
 
5 Introduction to classes and objects initial objects with constructors
case study: class Account
case study: card shuffling and dealing simulation
case study: class GradeBook
How to call an object's methods to make them perform their task.
What local variables of a method are and how they differ from instance variables.
How to use a constructor to initialize an object's data.
 
6 A deeper look of classes and objects case study: Time class
controlling access to members
referring to the current object's members with the this reference
overloaded constructors
default and no-argument constructors
notes on set and get methods
Use the throw statement to indicate that a problem has occurred.
Use keyword this in a constructor to call another constructor int the same class.
 
7 A deeper look of classes and objects Composition
enum types
garbage collection
static class members
static import
final instance variables
package access
Use static variables and methods.
Import static members of a class.
Use the enum type to create sets of constants with unique identifiers.
Declare enum constants with parameters.
 
8 Mid Exam Mid Exam Mid Exam  
9 Object-oriented programming: Inheritance introduction
supperclasses and subclasses
protected members
relationship between superclasses and subclasses
Understand inheritance & how to use it to develop new classes based on existing class.
Learn the notations of supperclasses & subclasses & the relationship between them.
Use keyword extands to create a class that inherits attributes and befaviors from another class.
Using access modifier protected.
 
10 Object-Oriented Programming: Polymorphism and Interfaces introduction
polymorphism examples
demonstration polymorphic behavior
abstract classes and methods
case study of using polymorphism
Learn the concept of polymorphism.
Use overridden methods to effect polymorphism.
Distinguish between abstract and concrete classes.
Declare abstract methods to create abstract classes.
 
11 Object-Oriented Programming: Polymorphism and Interfaces allowed assignments between superclass and subclass variables
final methods and classes
a deeper explanation of issues with calling methods from constructors
creating and using interfaces
Learn how polymorphism makes systems extensible and maintainable.
Determine an object's type at execution time.
Declare and implement interfaces.
 
12 Exception Handling: A Deeper Look introduction
example: divide by zero with exception handling
example: handing ArithmeticExceptions and InputMismatchExceptions
when to use exception handling
Java exception hierarchy
Learn what exceptions are and how they're handled.
Learn when to use exception handling.
Use try blocks to delimit code in which exceptions might occur.
Use throw to indicate a problem.
 
13 Exception Handling: A Deeper Look finally block
chained exceptions
declaring new exception types
preconditions and postconditions
assertions
Use catch blocks to specify exception handlers.
Use the finally block to release resources.
Understand the exception class hierarchy.
Create user-defined exceptions.
 
14 GUI Components introduction
Java's nimbus look-and-fell
simple GUI-based input/output with JOptionPane
Overview of Swing components
Displaying text and images in a windows
text fields and an introduction to event handling with nested classes
Learn how to use the nimbus look-and-feel.
Build GUIs and handle events generated by user interactions with GUIs.
Understand the packages containing GUI components, event-handling classes and interfaces.
 
15 GUI Components common GUI event types and listener interfaces
how event handling works
JButton
buttons that maintain state
using an anonymous inner class for event handling
multiple-selection lists
mouse event handling
Create and manipulate buttons, labels, lists. text fields and panels.
Handle mouse events and keyboard events.
Use layout managers to arrange GUI components.
 
16 Final exam Final exam Final exam  
彈性教學週活動規劃

No.
實施期間
Period
實施方式
Content
教學說明
Teaching instructions
彈性教學評量方式
Evaluation
備註
Notes
1 起:2024-04-15 迄:2024-05-17 5.小專題 Project 小專題: 1.選定一個主題 2.根據所選主題,進行程式設計 3. 完成程式設計 4. 將程式碼和心得整理完成報告。5.在完成時間內將程式碼和書面報告上傳到TronClass系統。 主題的獨特和創新性,程式設計完成的內容和實作心得。


教學要點概述:
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%   期中考:25%   其他評量:10%   彈性教學:10%   平時考:25%  

教學資源(Teaching Resources):
□ 教材電子檔(Soft Copy of the Handout or the Textbook)
■ 課程網站(Website)
課程網站(Website):https://ilearn.ttu.edu.tw/
扣考規定:https://curri.ttu.edu.tw/p/412-1033-1254.php