教學大綱表 (106學年度 第2學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 物件導向程式設計
(英文) Object Oriented Programming
開課單位
Departments
資訊工程學系
課程代碼
Course No.
I2360
授課教師
Instructor
高一統
學分數
Credit
3.0 必/選修
core required/optional
必修 開課年級
Level
大二
先修科目或先備能力(Course Pre-requisites):
課程概述與目標(Course Overview and Goals):讓學生瞭解物件導向的觀念,並學會撰寫物件導向的程式,特別是熟悉Java程式語言。
教科書(Textbook) Introduction to Java Programming, 10th ed. by Daniel Liang
參考教材(Reference)
圖書館電子書(E-book of the Library) 1. Pro Java Programming
2. Java初學指引:使用SE7
課程大綱 Syllabus 學生學習目標
Learning Objectives
單元學習活動
Learning Activities
學習成效評量
Evaluation
備註
Notes

No.
單元主題
Unit topic
內容綱要
Content summary
1 Object-Oriented Programming and Java 1. Introduction to Java and OOP
2. Using Objects
1. Introduction to Java and OOP
2. Using Objects
 
2 Basic Programming Constructs 1. Fundamental Data Types
2. Decisions
3. Iteration
4. Arrays and Array Lists
5. Methods
1. Fundamental Data Types
2. Decisions
3. Iteration
4. Arrays and Array Lists
5. Methods
 
3 Objects and Classes 1. Class definition and construction
2. Java class library
3. Static variables, constants, and methods
4. Visibility Modifiers
5. Encapsulation
1. Class definition and construction
2. Java class library
3. Static variables, constants, and methods
4. Visibility Modifiers
5. Encapsulation
 
4 Objects and Classes 1. Class definition and construction
2. Java class library
3. Static variables, constants, and methods
4. Visibility Modifiers
5. Encapsulation
1. Class definition and construction
2. Java class library
3. Static variables, constants, and methods
4. Visibility Modifiers
5. Encapsulation
 
5 Objects and Classes 1. Class definition and construction
2. Java class library
3. Static variables, constants, and methods
4. Visibility Modifiers
5. Encapsulation
1. Class definition and construction
2. Java class library
3. Static variables, constants, and methods
4. Visibility Modifiers
5. Encapsulation
 
6 Example Java Objects: Strings and Characters 1. String class in Java
2. Character class in Java
3. File class in Java
4. Text I/O
1. String class in Java
2. Character class in Java
3. File class in Java
4. Text I/O
 
7 Object-Oriented Thinking 1. Discovery of objects
2. Immutable objects and classes
3. Scopes of variables
4. Class abstraction and encapsulation
5. Designing classes
1. Discovery of objects
2. Immutable objects and classes
3. Scopes of variables
4. Class abstraction and encapsulation
5. Designing classes
 
8 Object-Oriented Thinking 1. Discovery of objects
2. Immutable objects and classes
3. Scopes of variables
4. Class abstraction and encapsulation
5. Designing classes
1. Discovery of objects
2. Immutable objects and classes
3. Scopes of variables
4. Class abstraction and encapsulation
5. Designing classes
 
9 Object-Oriented Thinking 1. Discovery of objects
2. Immutable objects and classes
3. Scopes of variables
4. Class abstraction and encapsulation
5. Designing classes
1. Discovery of objects
2. Immutable objects and classes
3. Scopes of variables
4. Class abstraction and encapsulation
5. Designing classes
 
10 Midterm Exam Ch1~Ch9 Ch1~Ch9  
11 OO Design and Patterns 1. Software life cycle
2. Discovering classes and class relationships
3. Case Study: OO design
4. Class design guidlines
5. Framework-based programming using Java API
6. Design patterns
1. Software life cycle
2. Discovering classes and class relationships
3. Case Study: OO design
4. Class design guidlines
5. Framework-based programming using Java API
6. Design patterns
 
12 OO Design and Patterns 1. Software life cycle
2. Discovering classes and class relationships
3. Case Study: OO design
4. Class design guidlines
5. Framework-based programming using Java API
6. Design patterns
1. Software life cycle
2. Discovering classes and class relationships
3. Case Study: OO design
4. Class design guidlines
5. Framework-based programming using Java API
6. Design patterns
 
13 Inheritance and Polymorphism 1. Superclasses and subclasses
2. Overriding vs. overloading
3. Polymorphism, dynamic binding, and generic programming
4. Casting objects
5. Protected data and methods
6. Preventing extending and overriding
1. Superclasses and subclasses
2. Overriding vs. overloading
3. Polymorphism, dynamic binding, and generic programming
4. Casting objects
5. Protected data and methods
6. Preventing extending and overriding
 
14 Inheritance and Polymorphism 1. Superclasses and subclasses
2. Overriding vs. overloading
3. Polymorphism, dynamic binding, and generic programming
4. Casting objects
5. Protected data and methods
6. Preventing extending and overriding
1. Superclasses and subclasses
2. Overriding vs. overloading
3. Polymorphism, dynamic binding, and generic programming
4. Casting objects
5. Protected data and methods
6. Preventing extending and overriding
 
15 Abstract Classes and Interfaces 1. Abstract classes
2. Examples: Calendar and GregorianCalendar
3. Interfaces
4. Examples: Comparable, Cloneable, and ActionListener Interfaces
5. Interfaces vs. abstract classes
6. Wrapper classes
1. Abstract classes
2. Examples: Calendar and GregorianCalendar
3. Interfaces
4. Examples: Comparable, Cloneable, and ActionListener Interfaces
5. Interfaces vs. abstract classes
6. Wrapper classes
 
16 Abstract Classes and Interfaces 1. Abstract classes
2. Examples: Calendar and GregorianCalendar
3. Interfaces
4. Examples: Comparable, Cloneable, and ActionListener Interfaces
5. Interfaces vs. abstract classes
6. Wrapper classes
1. Abstract classes
2. Examples: Calendar and GregorianCalendar
3. Interfaces
4. Examples: Comparable, Cloneable, and ActionListener Interfaces
5. Interfaces vs. abstract classes
6. Wrapper classes
 
17 In-Class Exercises Programming exercises to be done in class Improve programming skills using OO concepts and Java  
18 Final Exam Ch9-Ch14 Ch9-Ch14  


教學要點概述:
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: 期末考:20%   期中考:20%   其他評量:5%   作業:55%  

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