JAVA程式設計
JAVA Programming
學期
108-2
學分
3
學分
當期課號
1055
永久課號
UEE2303
開課單位
電機工程學系
授課教師
蔡中庸
校區
光復
類別
選修
上課時間表
| 節 | 週三 | 週五 |
|---|---|---|
3 10:10–11:00 | JAVA程式設計 EE102 2 節連堂 | |
4 11:10–12:00 | ||
6 14:20–15:10 | JAVA程式設計 EE102 |
* 根據陽明交大上課時間表所列
概述
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 Java Applets
- Methods
- Arrays
- Classes and Objects
- Inheritance and Polymorphism
- Graphical User Interface (GUI) Components
- Graphics and Java2D
- Multithreading
週次計畫
| 週次 | 主題 |
|---|---|
| 第 1 週 | 1. What is Java 2. History of Java 3. Java Platform 4. The Java Programming Language 5. Java Bytecode.(Write once, Run Anywhere) |
| 第 2 週 | 1. Java API 2. J2SE 3. Java Virtual Machine 4. Basics of a Typical Java Environment |
| 第 3 週 | 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) |
| 第 4 週 | 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 |
| 第 5 週 | 1. Math class Methods 2. Java API Packages 3. Using GUI component: class JTextArea 4. Using GUI component : class JLabel |
| 第 6 週 | 1. Concept of Event Handling 2. Using GUI component: class JButton 3. Example: A Game of Chance |
| 第 7 週 | 1. Declaring and Creating Array 2. Enhanced for statement 3. Passing Arrays to Methods |
| 第 8 週 | 1. Multidimensional Arrays 2. Variable-Length Argument Lists 3. Introduction to JPanel and JFrame |
| 第 9 週 | 1. Time Class Case Study 2. Using This Reference 3. Composition 4. Enumerations 5. Static Class Members |
| 第 10 週 | 1. Static Import 2. Final Instance Variables 3. Creating Package 4. Package Access |
| 第 11 週 | 1. Super class and Subclass 2. Protected member and Access 3. Constructor in Subclass 4. Object class 5. Polymorphism Examples 6. Demonstrating Polymorphic Behavior |
| 第 12 週 | 1. Abstract Classes and Methods 2. Final Methods and Classes 3. Creating and Using Interfaces 4. Nested Classes 5. Anonymous Inner Classes |
| 第 13 週 | 1. Overview of SWING Components 2. Event handling 3. JLabel, JTextfield, JButton 4. JCheckBox and JRadioButton |
| 第 14 週 | 1. JComboBox 2. JList, Multiple-Selection Lists 3. Mouse Event Handling |
| 第 15 週 | 1. Adaptor Classes 2. Key Event Handling 3. Layout Managers: FlowLayout,BorserLayout, GridLayout |
| 第 16 週 | 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 |
| 第 17 週 | 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 |
| 第 18 週 | 1. Producer/Consumer Relationship: Without/with Synchronization 2. Producer/Consumer Relationship: Circular Buffer 3. Multithreading with GUI |
教科書
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