教學大綱表 (111學年度 第1學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 進階爪哇程式語言
(英文) Advanced Java Programming
開課單位
Departments
資訊工程學系
課程代碼
Course No.
I3120
授課教師
Instructor
謝禎冏
學分數
Credit
3.0 必/選修
core required/optional
選修 開課年級
Level
大三
先修科目或先備能力(Course Pre-requisites):Familiarity with basic concepts of OOP and Java
課程概述與目標(Course Overview and Goals):The goal of this course is to deepen sophomore undergraduate students' understanding of the Java programming language. After studying this course students should be able to demonstrate understanding of the following topics: 1. Generics 2. Java Collections Framework 3. Multithreading 4. Networking 5. Java GUI Programming 6. Java Database Programming
教科書(Textbook) Java 程式語言 第六版,施威銘研究室
參考教材(Reference) Java How to Program, current edition, by Deitel and Deitel, Pearson Education International
課程大綱 Syllabus 學生學習目標
Learning Objectives
單元學習活動
Learning Activities
學習成效評量
Evaluation
備註
Notes

No.
單元主題
Unit topic
內容綱要
Content summary
1 Exception Handling and Text I/O Overview, exception types, when to use exception exceptions, and rethrowing exceptions. To become familiar with the basics of exception handling  
2 Exception Handling and Text I/O Chained exceptions, the File class, text I/O, and reading data from the Web. Exception handling, I/O, and preparations for the certificate exam.  
3 GUI Components JCheckBox, JRadioButton, JTextField, text areas, combo boxes, lists, scroll bars, and sliders. More on GUI  
4 Applets and Multimedia Developing applets, applet security restrictions, applet life-cycle methods, and passing strings to applets Understanding and creating applets with multimedia; preparations for the certificate exam  
5 Applets and Multimedia Case study 1, case study 2, case study 3, and case study 4 on applets; locating remote resources using the URL class Understanding and creating applets with multimedia  
6 Binary I/O Binary I/O vs. text I/O, copying files, object I/O, and random access files Understanding the differences between binary and text I/O, and learning how to do binary I/O; preparations for the certificate exam  
7 Generics Introduction to generics, motivations and benefits, defining generic classes and interfaces, and generic methods Understanding generics in Java and why generics are a powerful programming technique  
8 Generics A case study on generics, raw types and backward compatibility, wildcard generic types, erasure and restrictions on generics, and a generic matrix class Understanding generics in Java and why generics are a powerful programming technique; preparations for the certificate exam  
9 The Java Collections Framework Introduction, collections in Java, iterators, lists, and the Comparator Interface. Understanding and using collections in Java  
10 The Java Collections Framework Static methods for lists and collections in general, case study 1 on the Java collections, the Vector and Stack classes in Java, and case study 2 on the Java collections Understanding and using collections in Java; preparations for the certificate exam  
11 Sets and Maps Introducing sets and maps, sets and maps in Java, comparing sets and lists, case studies on sets and maps Understanding and using sets and maps in Java  
12 Multithreading and Parallel Programming Thread concepts and the Thread class in Java, case studies on threads, and the GUI event dispatch thread in Java Understanding threading and parallel programming, able to write parallel programs; preparations for the certificate exam  
13 Multithreading and Parallel Programming Thread pools, thread synchronization, synchronization using locks, cooperation among threads, producer/consumer paradigm Understanding multithreading and parallel programming, able to write parallel programs  
14 Multithreading and Parallel Programming Blocking queues, semaphores, avoiding deadlocks, thread states, synchronized collections, and parallel programming Understanding multithreading and parallel programming, able to write parallel programs; preparations for the certificate exam  
15 Networking Introduction, client/server computing, the InetAddress class, serving multiple clients Understanding networking, able to write network programs  
16 Networking Applet clients, sending and receiving objects, distributed network games, a case study on networking Understanding networking, able to write network programs; preparations for the certificate exam  
17 Java Database Programming Introduction to database programming, database programming in Java, relational database systems, SQL Understanding database programming in Java  
18 Java Database Programming JDBC, PreparedStatement, CallableStatement, retrieving metadata Understanding database programming in Java; preparations for the certificate exam  


教學要點概述:
1.自編教材 Handout by Instructor:
□ 1-1.簡報 Slids
□ 1-2.影音教材 Videos
□ 1-3.教具 Teaching Aids
□ 1-4.教科書 Textbook
□ 1-5.其他 Other
□ 2.自編評量工具/量表 Educational Assessment
□ 3.教科書作者提供 Textbook

成績考核 Performance Evaluation: 期末考:30%   期中考:30%   其他評量:5%   上機測驗:35%  

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