97 CS 340100
Java Programming Language


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

助教
張苑瑩
bulapalm@gmail.com
謝國爗
blakezzn@gmail.com
蘇格貓底的貓


公告
課程討論 telnet://hulabear.twbbs.org   Java_Happy板
1.HW7 第6題詳解 第二次 h =1+30+2=32;第三次 h = 32+30+3=963。
           更正 第二次 h =1*30+2=32;第三次 h = 32*30+3=963。

  HW6 第5題 答案為 A C,原因已於課堂上解釋
  HW7 第1題 答案為 A C,原因已於課堂上解釋
  HW7 第2題 全部的答案應該要有 這兩個選項: ABB,BB

2.期末考試有多選題,一題3分,多選或少選各扣一分,扣到該題分數為止。

3.最後一份紙本講義包含 java New_Features 和 JNI
  有需要的同學可以到我們 LAB 734 領取
4.期末考日期為6/22, 範圍為全部教過的東西, 除Swing與Servlet不考

大綱
本課程為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 conventions ppt8, ppt9, ppt11, ppt12
ArrayDemo.java

3/23
Eclipse教學
4 Inheritance, Polymorphism (includied in 3)
5 Exceptions ppt13, ExceptionExample.zip
Midterm Solution discussion
6 Thread ppt14
pdf18 (comes from here)
7 I/O and Network programming 4/27(2)
Decorator Pattern and a little Java I/O
Decorator Pattern Sample Code (SO嵐飲料店)

4/30(1)
I/O Introduction
IOExample.zip
NetExample.zip

5/4
ppt17
TinyHttpServer
8 Collection, Regular Expression 5/4
ppt19
6/5
Regular Expression
9 Java Swing

5/14
ppt20

5/18
ppt21
CalendarPanel.zip

Case Study: Mathenobita
Mathenobita.zip
10 Design concepts (Basic design patterns)
We have learnt:
Singleton

Template Method Pattern
Observer Pattern
Decorator Pattern
Introduce Google Android application development (on Dalvik)
Web-application, JSP, Servlet (Cover if we have time) 5/18
22_JSP Slide
fakeLab3.zip
23_Servlet
5/21(1), 5/25(2), 5/28(端午節放假)
6/1(2), 6/4(1), 6/8(2), 6/11(1), 6/15(2), 6/18(1), 6/22(期末考週)
Java 5.0 New Features25_New_Features
Jakarta, Apache, 3rd-party libraries
We have learnt:
httpclient, BeanShell
Java Native Invocation27_JNI
Note: 上述規畫為暫定,視實際情況於課堂會做調整

文字作業 (不用繳交)
作業一,範圍Lecture 1~2 HW1 Solution
作業二,範圍Lecture 1~2 HW2 Solution 3/30有更新答案,請之前下載的人重新下載
作業三,範圍Lecture 1~2 HW3 Solution
作業四,範圍Lecture 3, 5 HW4 Solution 4/15有修正題目,請之前下載的人重新下載
4/19 第五題答案沒錯,第三個是 0.0 中間是小數點
作業五,範圍Lecture 1~5 HW5 Solution
作業六,範圍Lecture 6~7 HW6 Solution
作業七,範圍Lecture 6,8 HW7 Solution
作業八,範圍JSPHW8Solution
作業九,OO ReviewHW9Solution
作業十,總複習HW10Solution

程 式作業
作業一,範圍Lecture 1~2 Lab1 3/23有更新,請之前下載的人重新下載 Lab1 FAQ Lab1參考 解答 Lab1成績
作業二,範圍Lecture 2~5 Lab2, 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


Lab2參考解答 Lab2成績
作業三 Lab3, 繳交期限5/28

繳交方式和規格同作業一, 請打包整個目錄繳交

Lab3參考解答
作業四 期末Project Proposal。參考範例下載


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


CS340100

Pleural Mesothelioma
Pleural Mesothelioma