課程大綱 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. Programming and Java
3. A typical Java development environment
OnlineGDB
method-call stack and stack frames |
1. Introduction to Java and OOP
2. Programming and Java
3. A typical Java development environment |
上機實習 講授
|
|
|
2 | 類別與物件概念 (OOP Basic Programming Constructs) |
1. Fundamental Data Types
2. Decisions & Control structures
3. if single-selection statement
4. if ... else double-selection statement
5. Iteration |
1. Fundamental Data Types
2. Decisions & Control structures
3. if single-selection statement
4. if ... else double-selection statement
5. Iteration
理解封裝與Setter、Getter方法
Understand what method overloading is and how to create overloaded methods. |
上機實習 講授
|
|
|
3 | 類別與物件概念 (Methods, Setter, Getter ) |
1. Program modules in Java.
2. static methods, static variables and class Math
3. declaring methods
4. notes on declaring and using methods
5. Methods, Setter, Gette
5. 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. |
上機實習 講授
|
|
|
4 | 類別與物件深度理解 (Class, Method, Constructor) |
Argument promotion and casting
Java API packages
Scope of declarations
Method overloading
Category, Constructor, and Methods
Access Control of Members
Utilization of Constructors and Overloading |
Learn about argument promotion and casting.
Understand how the visibility of declarations is limited to specific regions of programs.
Understand what method overloading is and how to create overloaded methods. |
上機實習 講授 實作
|
|
|
5 | 繼承的基礎觀念 I (Fundamental Concepts of Inheritance I) |
Introduction
Instance variables, set methods and get methods
Default and explicit initialization for instance variables
Basic Concepts of Inheritance |
Learn what primitive types & reference types are.
Learn Concepts of Inheritance |
上機實習 講授 實作
|
|
|
6 | 繼承的基礎觀念 II (Fundamental Concepts of Inheritance II) |
Basic Concepts of Inheritance
Method Inheritance
Method Overriding |
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.
Use Method Overriding |
上機實習 講授 實作
|
|
|
7 | 繼承的進階觀念 I (Object-Oriented Thinking) |
1. initial objects with constructors
2. case study: class Account
3. case study: card shuffling and dealing simulation
4. 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. |
上機實習 講授 實作
|
|
|
8 | 期中考 (Mid-Term) |
期中考 (Mid-Term) |
期中考 (Mid-Term) |
|
期中考
|
|
9 | 繼承的進階觀念 II (Object-Oriented Thinking II) |
1. Important Concepts of Inheritance
2. Advanced Design for Method Overriding
3. controlling access to members
4. referring to the current object's members with the this reference
5. overloaded constructors
6. default and no-argument constructors |
Notes on setter and getter 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. |
上機實習 講授 實作
|
|
|
10 | 繼承的進階觀念 III (A deeper look of classes and objects) |
1. Composition
2. enum types
3. garbage collection
4. static class members
5. static import
6. final instance variables
7. 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. |
上機實習 講授 實作
|
|
|
11 | 抽象類別 I (Object-oriented programming: Inheritance) |
1. introduction
2. supperclasses and subclasses
3. protected members
4. Framework-based programming using Java API
6. Design patterns |
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. |
上機實習 講授 實作
|
|
|
12 | 抽象類別 II (Object-oriented programming: Inheritance) |
1. relationship between superclasses and subclasses
2. constructors in subclasses
3. class Object
4. abstract method and abstract class
5. Features of Object-Oriented Programming
6. Introduction to Abstract Classes
7. Design of Abstract Classes
8. Examples of Abstract Class Application |
Understand inheritance & how to use it to develop new classes based on existing class.
Learn the notations of supperclasses & subclasses & the relationship between them.
Learn the functionality of abstract method and abstract class.
Use keyword extands to create a class that inherits attributes and befaviors from another class.
Using access modifier protected. |
上機實習 講授 實作
|
|
|
13 | 介面 I (Object-Oriented Programming: Polymorphism and Interfaces) |
1. introduction
2. polymorphism examples
3. demonstration polymorphic behavior
4. abstract classes and methods
5. 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. |
上機實習 講授 實作
|
|
|
14 | 介面 II (Object-Oriented Programming: Polymorphism and Interfaces) |
1. Allowed assignments between superclass and subclass variables
2. Final methods and classes
3. A deeper explanation of issues with calling methods from constructors
4. Creating and using interfaces
5. Scenarios for Using Interfaces
6. Examples of Interface Application |
Learn how polymorphism makes systems extensible and maintainable.
Determine an object's type at execution time.
Declare and implement interfaces. |
上機實習 講授 實作
|
|
|
15 | 例外處理 (Exception Handling Introduction) & 泛型與集合 (Generic Collections Overview) |
Exception Handling:
1. Example: divide by zero with exception handling
2. Example: handing ArithmeticExceptions and InputMismatchExceptions
3. Java exception hierarchy
4. Chained exceptions
Generic Collections:
1. type-wrapper classes
2. autoboxing & auto-unboxing
3. interface Collection & class Collections |
earn 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.
Learn what collections are.
Learn what collections are. |
上機實習 講授 實作
|
|
|
16 | 期末考 (Final exam) |
期末考 (Final exam) |
期末考 (Final exam) |
|
期末考
|
Final exam |