JAVA程式設計
JAVA Programming
學期
111-2
學分
3
學分
當期課號
515183
永久課號
EEEC10001
開課單位
電機工程學系
授課教師
蔡中庸
校區
光復
類別
選修
上課時間表
| 節 | 週三 | 週五 |
|---|---|---|
3 10:10–11:00 | JAVA程式設計 EE105 2 節連堂 | |
4 11:10–12:00 | ||
7 15:30–16:20 | JAVA程式設計 EE105 |
* 根據陽明交大上課時間表所列
概述
Student will be well-prepared to create cross-platform Java Application or JavaFX application program. 學生能設計出符合現代軟體發展需求、跨平台 (Cross-Platform)、可以在Local computer or Browser執行的視窗化軟體程式
先修科目
計算機概論與程式設計 , 物件導向程式設計
教學方式
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 Platform3. Java Bytecode.(Write once, Run Anywhere)4. Basics of a Typical Java Environment5. Introduction to Scene Builder |
| 第 2 週 | 1. A First Program in Java Application Program2. Compiling the Source File3. Executing the Bytecode4. Displaying Text in a Dialog Box.(Using JOptionPane class) |
| 第 3 週 | 1. A First Program in JavaFX Program2. Drawing Strings, Lines and Rectangles.3. Font Control4. Color Control5. Compiling and Executing JavaFX Program6. Scene Builder |
| 第 4 週 | 1. Declaring and Creating Array2. Enhanced for statement3. Passing Arrays to Methods4. Multidimensional Arrays5. Variable-Length Argument Lists6. Introduction to JPanel and JFrame |
| 第 5 週 | 1. Using This Reference2. Composition3. Enumerations4. Static Class Members5. Static Import6. Final Instance Variables7. Creating Package8. Package Access |
| 第 6 週 | 1. Super class and Subclass2. Polymorphism Examples3. Demonstrating Polymorphic Behavior4. Abstract Classes and Methods5. Final Methods and Classes6. Creating and Using Interfaces7. Nested Classes |
| 第 7 週 | 1. Overview of SWING Components2. Event handling3. JLabel, JTextfield, JButton4. Anonymous Inner Classes5. JCheckBox and JRadioButton6. JComboBox7. JList, Multiple-Selection Lists |
| 第 8 週 | 1. Mouse Event Handling1. Adaptor Classes2. Key Event Handling3. Layout Managers: FlowLayout,BorserLayout, GridLayout |
| 第 9 週 | 1. The Hierarchy of class Graphics in Java2. Color, Font Control3. Drawing Lines, Rectangles ,Ovals and Arcs4. Drawing Polygons and Polylines5. Java 2D API: Translate and Rotate |
| 第 10 週 | Introduction to JavaFX1. JavaFX Application Structure2. JavaFX application Thread:3. JavaFX Lifecycle4. JavaFX Class Hierarchy |
| 第 11 週 | 1.JavaFx Graphics: JavaFX GraphicsContext class2.JavaFX and FXML3.MVC Architecture4.Java Lambda Expression |
| 第 12 週 | 1. JavaFX Event Handling2. Property Binding3. FXML Controller Classes4. FXML, Scene Builder and event handling1.Use Separate Inner Class for Event Handling2.Use one Inner Class for Event Handling |
| 第 13 週 | 1.Anonymous Inner Classes for Event Handling2.Functional Interface3.Use Lambda Expressions for Event Handling: Functional Interface4. JavaFX Mouse and Key Control Example |
| 第 14 週 | 1. Thread States: Life Cycle of a Thread2. Thread Priorities and Thread Scheduling3. Interface Runnable and class Thread4. Creating and Executing Threads5. Thread Synchronization6.Thread Interaction: Wait, Notify, Notifyall |
| 第 15 週 | 1. Producer/Consumer Relationship: Without/with Synchronization2. Producer/Consumer Relationship: Circular Buffer3. Multithreading with GUI |
| 第 16 週 | Network in Java1.IP (Internet Protocol ) address2.JavaFX Server class3.JavaFX Client class4.JavaFX Server example5.JavaFX Client example6.JavaFX one Server and Multiple Clients example |
| 第 17 週 | Java FileArray vs ArrayList in JavaCollections.sort() in Java with ExamplesJava Lambda ExpressionSimplifying Event Handling Using Lambda Expressions:Streams and Reduction |
| 第 18 週 |
教科書
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