97 CS 340100
Java Programming Language
Java程式語言

一般資訊
授課教師
黃世傑
Parallel and Distributed System Laboratory
yoshijava@gmail.com

助教
張苑瑩
bulapalm@gmail.com
謝國爗
blakezzn@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基 本概念 & 環境設定ppt1, ppt2
2 Class, Object, 以及語法概念(package & import)
Inheritance, Polymorphism, Nested classes
Interface, Abstract ... 和物件有關的主要都在這裡
ppt3, Example1
2/26:
今天上課講的整數與人的例子
投影片裡有講如何使用

ppt4, ppt5, ppt6, ppt7
Note:
3/17 ppt7的page 6有誤
請看更新的投影片

新增實作Comparable interface的範例
展現interface宣稱其性質的例子
ComparableExample.zip

3/2:
Example2
今天上課舉的例子
Singleton: God.java
private權限: Account.java
Polymorphism: Container.java, Cup.java

3/5
Example3
上課時所舉的package & import例子
解開後目錄結構都存在
可以試著自己compile & run

參考資料
Java深度歷險 Ch1 深入Java SDK
全書
*感謝作者王森免費提供給Java同好

3/22
ppt10
3 資料表示 法,String,陣列,Code conventionsppt8, ppt9, ppt11, ppt12
ArrayDemo.java

3/23
Eclipse教學
4 Inheritance, Polymorphism (includied in 3)
5 Exceptionsppt13, ExceptionExample.zip
MidtermSolution discussion
6 Threadppt14
7 I/O and Network programmingDecorator Pattern and a little Java I/O 4/27(2)
Decorator Pattern Sample Code (SO嵐飲料店)
IO Introduction
IOExample.zip
NetExample.zip

4/30(1), 5/4(2)
8 Jakarta, 3rd-party libraries5/7(1)
9Collection, Regular Expression5/11(2)
10 Design concepts (Basic design patterns)
We have learnt:
Singleton

Template Method Pattern
Observer Pattern
Decorator Pattern
5/14(1)
Introduce Google Android application development (on Dalvik)5/18(2), 5/21(1)
Basic GUI programs (Cover if we have time)5/25(2), 5/28(端午節放假)
Web-application, JSP, Servlet (Cover if we have time)6/1(2), 6/4(1), 6/8(2), 6/11(1), 6/15(2), 6/18(1), 6/22(期末考週)
Note: 上述規畫為暫定,視實際情況於課堂會做調整

文字作業 (不用繳交)
作業一,範圍Lecture 1~2HW1Solution
作業二,範圍Lecture 1~2HW2Solution 3/30有更新答案,請之前下載的人重新下載
作業三,範圍Lecture 1~2HW3Solution
作業四,範圍Lecture 3, 5HW4Solution 4/15有修正題目,請之前下載的人重新下載
4/19 第五題答案沒錯,第三個是 0.0 中間是小數點
作業五,範圍Lecture 1~5HW5Solution

程式作業
作業一,範圍Lecture 1~2Lab1 3/23有更新,請之前下載的人重新下載Lab1 FAQLab1參考解答Lab1成績
作業二,範圍Lecture 2~5Lab2, Flickr Interestingness
注意 addObservers 裡,重覆的observer instances要做判斷,已加入過的不用再加 (請使用equals做判斷)

Two observers are considered the same if and only if the equals method returns true for them.
可參考java中Observer pattern的API Docs

繳交方式和規格同作業一, 有使用package者, 請打包整個目錄繳交


評分方式
期中考 10%
期末考 30%
作業 30%
Project 30%
隨堂小考 10% (Bonus)


CS340100

Pleural Mesothelioma
Pleural Mesothelioma