JAVA程式設計
JAVA Programming
學期
110-2
學分
3
學分
當期課號
1016
永久課號
UEE2303
開課單位
電機工程學系
授課教師
蔡中庸
校區
光復
類別
選修
上課時間表
| 節 | 週三 |
|---|---|
3 10:10–11:00 | JAVA程式設計 EE105 2 節連堂 |
4 11:10–12:00 |
* 根據陽明交大上課時間表所列
概述
Student will be well-prepared to create cross-platform Java Application or JavaFX application program. 學生能設計出符合現代軟體發展需求、跨平台 (Cross-Platform)、可以在Local computer or Browser執行的視窗化軟體程式
先修科目
計算機概論與程式設計 , 物件導向程式設計 進階物件導向程式設計 開學第一星期, 所有修課同學都需要作最基本的程式檢定 以避免無法達到學習效果. 主要考最基本的OOP程式設計: Constructor, Class, Inheritance, Polymorphism
教學方式
a. 使用學校e3網站。 b. 重要單元都有自製講義或者補充重要程式,來說明補充課本的不足。上課仍然發給學生紙本講義,讓學生可以作筆記,這些講義同時都也都放置在e3講義區。
課程大綱
- Introduction to Java Programming
- Introduction to Java Applications
- Introduction to JavaFX
- Java Basics I
- Java Basics II
- Java Class Inheritance and Polymorphism
- Java Swing Graphical User Interface (GUI) Components
- Java Swing Graphics and Java2D
- JavaFX Basics
- JavaFX Event Handling
- Java Multithread
- Network in Java
週次計畫
| 週次 | 主題 |
|---|---|
| 第 1 週 | 1. What is Java 2.Java Platform 3. Java Bytecode.(Write once, Run Anywhere) 4. Basics of a Typical Java Environment 5. Introduction to Scene Builder |
| 第 2 週 | 1. A First Program in Java Application Program 2. Compiling the Source File 3. Executing the Bytecode 4. Displaying Text in a Dialog Box.(Using JOptionPane class) |
| 第 3 週 | 1. A First Program in JavaFX Program 2. Drawing Strings, Lines and Rectangles. 3. Font Control 4. Color Control 5. Compiling and Executing JavaFX Program 6. Scene Builder |
| 第 4 週 | 1. Declaring and Creating Array 2. Enhanced for statement 3. Passing Arrays to Methods 4. Multidimensional Arrays 5. Variable-Length Argument Lists 6. Introduction to JPanel and JFrame |
| 第 5 週 | 1. Using This Reference 2. Composition 3. Enumerations 4. Static Class Members 5. Static Import 6. Final Instance Variables 7. Creating Package 8. Package Access |
| 第 6 週 | 1. Super class and Subclass 2. Polymorphism Examples 3. Demonstrating Polymorphic Behavior 4. Abstract Classes and Methods 5. Final Methods and Classes 6. Creating and Using Interfaces 7. Nested Classes |
| 第 7 週 | 1. Overview of SWING Components 2. Event handling 3. JLabel, JTextfield, JButton 4. Anonymous Inner Classes 5. JCheckBox and JRadioButton 6. JComboBox 7. JList, Multiple-Selection Lists |
| 第 8 週 | 1. Mouse Event Handling 1. Adaptor Classes 2. Key Event Handling 3. Layout Managers: FlowLayout,BorserLayout, GridLayout |
| 第 9 週 | 1. The Hierarchy of class Graphics in Java 2. Color, Font Control 3. Drawing Lines, Rectangles ,Ovals and Arcs 4. Drawing Polygons and Polylines 5. Java 2D API: Translate and Rotate |
| 第 10 週 | Introduction to JavaFX 1. JavaFX Application Structure 2. JavaFX application Thread: 3. JavaFX Lifecycle 4. JavaFX Class Hierarchy |
| 第 11 週 | 1. JavaFx Graphics: JavaFX GraphicsContext class 2. JavaFX and FXML 3. MVC Architecture 4. Java Lambda Expression |
| 第 12 週 | 1. JavaFX Event Handling 2. Property Binding 3. FXML Controller Classes 4. FXML, Scene Builder and event handling 1. Use Separate Inner Class for Event Handling 2. Use one Inner Class for Event Handling |
| 第 13 週 | 1. Anonymous Inner Classes for Event Handling 2. Functional Interface 3. Use Lambda Expressions for Event Handling: Functional Interface 4. JavaFX Mouse and Key Control Example |
| 第 14 週 | 1. Thread States: Life Cycle of a Thread 2. Thread Priorities and Thread Scheduling 3. Interface Runnable and class Thread 4. Creating and Executing Threads 5. Thread Synchronization 6.Thread Interaction: Wait, Notify, Notifyall |
| 第 15 週 | 1. Producer/Consumer Relationship: Without/with Synchronization 2. Producer/Consumer Relationship: Circular Buffer 3. Multithreading with GUI |
| 第 16 週 | Network in Java 1. IP (Internet Protocol ) address 2. JavaFX Server class 3. JavaFX Client class 4. JavaFX Server example 5. JavaFX Client example 6. JavaFX one Server and Multiple Clients example |
| 第 17 週 | Java File Array vs ArrayList in Java Collections.sort() in Java with Examples Java Lambda Expression Simplifying Event Handling Using Lambda Expressions: Streams and Reduction |
教科書
1. Java How To Program "Early Objects" Deitel & Deitel Pearson , 2018, 11/E 2. Teaching resources from http://www.oracle.com/technetwork/java/index.html
Office Hours
- 地點
- 工五館762室
- 時間
- 每星期兩小時
- 聯絡方式
- Tel:54367 e-mail: cytsai@mail.nctu.edu.tw