98 CS 340100
Java Programming Language



一般資訊
授課教師
黃世傑
Parallel and Distributed System Laboratory
R734, EECS, NTHU
yoshijava [at] gmail.com

助教
張苑瑩
bulapalm [at] gmail.com
周雋鎧
kavenc [at] gmail.com


公告
課程討論 telnet://hulabear.twbbs.org   Java_Happy板


大綱
本課程為2學分之課程,著重在Java Standard Edition的介紹,讓學生瞭解Java SE Core Library的使用與設計概念,能夠利用Java的特色來開發自己所需功能之應用程式。

教學方式
語法概念:以Java基本語法以及認證考試(SCJP)為主體內容。
實作層面:透過Project的方式讓學生實際開發程式。
Please visit http://java.sun.com/javase/6/docs/api/ when you are in trouble.

課程規畫
Note: 使用Office 2003的人,若無法觀看Office 2007的文件,可以安裝文件相容套件,按 此下載
Note2: 投影片中有某些地方程式碼,因為「"..."」 出現時,Office自動轉換成「」與「」,所以請同學自行修正
Lecture 內容 投影片
1 Java基 本概念 & 環境設定 1_Introduction (2/22)
2_Object_Based_Design (2/22)
3_Environment (2/25)
2 Constructor, Overloading, Accessibility
Static and non-static variables and methods
Reference/Primitive types, call by value/reference, equality
Design pattern - Singleton
4_Constructor_Overloading_Accessibility (3/1)
4-2_static
4-3_reference_primitive_call_by_XXX
4-4_Singleton and basic UML
Lab1 Package and Import
3Inheritance, modifiers, polymorphism, template method pattern
Liskov Substitution Principle (LSP)
5_inheritance (3/11 ~ 3/18)
6_LSP

4
Nested class,資料表示 法,陣列,Code conventions 7_nested classes
8_array
Lab2
5 Exceptions 9_Exception
Midterm 考古題
6Decorator Pattern10_Decorator
Sample Code
EcliseEclipse
4/26String12_String

I/O and Network programming (Client side) 11_IO
Thread13_Thread
13-2_Thread
Network programming (Server side and case study)14_Networking
Case Study: TinyHTTPServer
7
5/4 ~ 6/5
Serialization 16_Serialization
8
5/14 ~ 5/18
Java Swing
15_Swing_view
17_Swing_controller
9 Design concepts (Basic design patterns)
{ Singleton
,
Template Method Pattern,
Observer Pattern,
Decorator Pattern }
Web-application, JSP, Servlet (Cover if we have time)
Java 5.0 New Features18_New_features
Jakarta, Apache, 3rd-party libraries
{ httpclient, BeanShell }
Java Native Invocation
Note: 上述規畫為暫定,視實際情況於課堂會做調整

文字作業 (不用繳交)
作業一,範圍Lecture 1~3 HW1 Solution
作業二,範圍Lecture 4 HW2 Solution
作業三,範圍Lecture 1~2 HW3 Solution
作業四,範圍Lecture 3, 5 HW4 Solution
作業五,範圍Lecture 1~5 HW5 Solution
作業六,範圍Lecture 6~7 HW6 (Solution included)

程 式作業
Mini Lab1, 範圍 Lecture 1 ~ 2 檔案下載1-1 Ans
Lab1, 範圍 Lecture 2 ~ 3檔案下載
Lab2, Java I/O檔案下載Tutorial
EndianTranslation.java 含有main method的class
讓同學專注於寫Filter input/output stream

Sample Solution
Mini Lab2, 範圍 Lecture 13檔案下載
Lab3, GUI檔案下載


評分方式
期中考 10%
期末考 25%
作業 & 上機考 40%
Project 25%
上課問答 10% (Bonus)


CS340100