gif quackingduck.net

Quacking Blog
Computer Tips
* Windows, security
* HDD Upgrade
* Resource Meter
* [LIIWEEK] links
* Upgrading drivers
* Dual Boot!
* Video card ID
* CD-RW selection
* Hardware vendors
* Computer links
Color Table
Java Page
Audio Page
* DonutTime prod notes
* SF Adventure
* Club Mallard
* Myself...Stranger
* My New Year's Eve
* DVC Reminiscences
* Geekbonics Sonnet
* Dill zucchini saute
* French carrot soup
* Garlic bread
* Hungarian lentil soup
* Hungarian paprikas
* Kalamata Pasta
* Leek...pepper quiche
* Mexican lentils
* Mushroom ragout
* Parsleyed potatoes
* Pie crust for quiche
* String Beans w/Paprika
* Tacostadas
* Vegetable stir fry
Search for pages
of these words:

Web www.quackingduck.net
COMSC 256: Advanced Java
Diablo Valley College
Spring 2001

See Assignment List
See Lecture Notes List (downloads)
See Grading Policy
See Project Time Line
See Book List


5/9/01: Class Projects Update: Please see Dr. Khaja's latest update about assignment and project due dates and requirements in the Class Grading Table below.

4/26/01: Free JSP Hosting - Jspin.com, which also has a lot of other resources.

4/10/01: HTML Book Recommendation: For writing HTML I highly recommend this book: HTML FOR THE WORLD WIDE WEB, 4th Edition, by Elizabeth Castro. Peachpit Press, 2000, ISBN: 0-201-35493-4. This book is an excellent reference for HTML and is very straightforward. I did my entire web site using this book, including reproducing the color table from the back of the book. You can buy the book in the DVC bookstore for $20, or from www.bookpool.com for only $13.50 (plus shipping-but no tax). I have bought most of my computer books from them and their online store is excellent.

Class Grading:

Instead of a midterm and a final exam, the grades will be determined as follows:

  • Turn in any 7 assignments (not including assignment 5) completed and working by Mon 5/21/01.
  • Turn in an approved large project completed and working by Mon 5/21/01, 5:30pm.
  • Turn in any 6 assignments (not including assignment 5) completed and working by Mon 5/21/01, 5:30pm.
  • Turn in any 5 assignments (not including assignment 5) completed and working by Mon 5/21/01, 5:30pm.
  • The class will meet on Final Exam Day, Monday 5/21/01. All assignments and projects are due that day at 5:30pm at the latest. Each project should consist of:

    i) printed hard copy.
    ii) a disc containing the whole code.
    iii) approx. one page briefly describing project specification and design.

    To get full credit the student must set up an appointment with Dr. Khaja, or, present the project to the class.
    That day as well as Wednesday of Final's Week will also be used for students to demonstrate their projects to the class.

Back to the top

Class Project Timeline:

Specification document completed.

Design document completed.

Implementation (coding) completed.

Debugging & Testing completed.

Projects due by 5:30pm.

Back to the top

Book List:

  • HTML For the World Wide Web 4th Edition, Elizabeth Castro, Peachpit Press, 0-201-35493-4
  • Web Publishing with HTML 4 in a Week, Fourth Edition, Laura Lemay, Sams.net, 1-57521-336-2
  • Core Servlets and Java Server Pages, Marty Hall, Prentice Hall, 0130893404
  • Java Servlets 2nd Edition, Karl Moss, McGraw Hill, 007-1351884
  • JavaServer Pages, Larne Pekowsky, Addison Wesley, 0201704218

Back to the top

3/29/01: Major Tip: I was working in the lab on the Chat assignment with Egor last night and learned from him two very important things: 1) the SocketThread inner classes of each ChatServer object can communicate with each automatically so there is no need to make a separate object to facilitate communication of the various ChatServer threads. That is the beauty of using inner classes! You only need to make one array for the threads and no arrays are needed for the BufferedReader or the PrintWriter objects. Therefore, you only need to make one for loop in the inner SocketThread class to send out to all the threads any PrintWriter string messages. It is actually just that simple and also for the second reason: 2) There is no need to create a Socket array for communicating with each Client because one Socket object is capable of multiple connections!

3/19/01: Dr. Khaja has asked the computer lab administrator to move the JBuilder programs away from the inner row in the lab (because it is too crowded there) to a much better area which is the row by the outer wall over in the next section of computers. I tried working there in the new area last night and it was indeed much better. I will try to get the computer station numbers on Wednesday to post here so you can find them more easily.

Email List: I have started a Java Group discussion email list. The plan is to keep in contact with each other via this central list in order to ask questions about our Java assignments and to offer any programming tips to this Java Group. Anyone in the group can "reply to all" in their email message to respond, or may write to me and I will distribute the message. As tips come in, I will put them up right here on this web page for all to see!

To join the Java Group list just send me a quick email and let me know:

Class Lecture Notes:

Lecture on Wednesday January 17, 2001 (PDF 129 KB)
Lecture on Monday January 22, 2001 (PDF 376 KB)
Lecture on Wednesday January 24, 2001 (PDF 294 KB)
Lecture on Monday January 29, 2001 (PDF 421 KB)
Lecture on Wednesday January 31, 2001 (PDF 355 KB)
Lecture on Monday February 5, 2001 (PDF 472 KB)
Lecture on Wednesday February 7, 2001 (PDF 203 KB)
Lecture on Monday February 12, 2001 (PDF 193 KB)
Lecture on Wednesday February 14, 2001 (PDF 290 KB)
Lecture on Wednesday February 21, 2001 (PDF 319 KB)
Lecture on Monday February 26, 2001 (PDF 433 KB)
Lecture on Wednesday February 28, 2001 (PDF 289 KB)
Lecture on Monday March 5, 2001 (PDF 258 KB)
Lecture on Wednesday March 7, 2001 (PDF 236 KB)
Lecture on Monday March 12, 2001 (PDF 325 KB)
Lecture on Wednesday March 14, 2001 (PDF 407 KB)
Lecture on Monday March 19, 2001 (PDF 446 KB)
Lecture on Wednesday March 21, 2001 (PDF 434 KB)
Lecture on Wednesday March 28, 2001 (PDF 569 KB)
Lecture on Monday April 2, 2001 (PDF 670 KB)
Lecture on Wednesday April 4, 2001 (PDF 374 KB)
Lecture on Monday April 9, 2001 (PDF 408 KB)
Lecture on Wednesday April 11, 2001 (PDF 141 KB)
Lecture on Monday April 23, 2001 (PDF 615 KB)
Lecture on Wednesday April 25, 2001 (PDF 307 KB)
Lecture on Monday April 30, 2001 (PDF 509 KB)
Lecture on Wednesday May 2, 2001 (PDF 387 KB)
Lecture on Monday May 7, 2001 (PDF 35 KB)
Lecture on Wednesday May 9, 2001 (PDF 376 KB)

Info about class notes production.

Back to the top

Class Schedule:
Date Assign # Page # Exercise Due
1/22/01 1 Liang 157 4.7 5/21/01 Liang ch 1-4
Deitel ch 25
2/5/01 2 Liang 155 4.4 5/21/01 Liang ch 4
2/14/01 3 Liang 552 12.2
Add the following commands to the 12.2 assignment: Connect, Search, Insert, Update, Delete, Clear (textboxes), Refresh.

5/21/01 Liang ch 12:
describes drivers very well.
Deitel ch 18:
describes SQL very well.
2/28/01 4 Liang 552
Same as assignment 3, but use DataExpress and dbSwing Components.

5/21/01 Liang ch 14
3/5/01 5 Liang 552
Same as assignment 4, but use Data Modules.

1) Create a class for use as a data module. In it provide a database and QueryDataSet using DataExpress components (you can use the Data Module Wizard).

2) Create two frame classes containing Graphical User Interface using dbSwing components. One frame will display a table in a ScrollPane, the other will show one entry in text boxes and a Navigation Bar.

3) Create an applet with two buttons for individually showing and hiding the these two frames.

new tag 3/20/01: Dr. Khaja says you may use DataExpress and dbSwing components for doing this assignment.

5/21/01 Liang ch 14:
p. 627-637
3/14/01 6 none
Develop a chat application using Java sockets.
It should allow two or more clients to chat using a server. The client window will have two ScrollPanes, one for the user input messages, the other to display all messages (the user and the other party's).

5/21/01 Liang ch 15:
p. 656-660
3/28/01 7 none
Implement interface Stock in a class StockImpl (by extending UnicastRemoteObject). Create an instance of this class in function main. Make this object accessible remotely via RMI. Click here to see the definition of Stock interface. Also see the definition of class StockData which is used in carrying stock data. It should be Serializable.

Enhance the above and implement the interface StockCallback on the client side. Implement this interface in a class StockCallbackImpl on the client side (by extending UnicastRemoteObject). The server should call the method notifyingStockChange () to refresh just for that client to inform of any changes in any stock.

See the definition of interface StockCallback by clicking the link above.

The server callback feature can be activated by any client by calling the method enableCallback and deactivated by calling disableCallback method of the server.

Using the callback feature, the client should continually refresh the values of a stock selected by the user. The user will select this feature by checking a checkbox called "Refresh Continuously"

5/21/01 Liang ch 15
Deitel ch 20
4/9/01 8 none
Do the stock assignment using servlets for searching, inserting, updating, deleting. Also, optionally, display the whole table.

5/21/01 Deitel ch 19
4/9/01 9 none
Do the stock assignment using JSP for searching, inserting, updating and deleting. Also, optionally, display the whole table.

5/21/01 ?

Back to the top

If you find any errors or omissions in my notes, or, if you'd like to send me any additional links please email me.

Class notes info: I scanned in each page at 100 DPI gray scale and cropped them. Then I reduced each to 72 DPI and converted to 8 bit gray scale .gif in Photoshop. Then, I converted each .gif to .pdf in Adobe Acrobat and put them together into a single PDF "booklet". Since these are graphic images, converting them to .gif formatting is critical to keeping the files as small as possible. I should mention that I cannot guarantee the accuracy of the contents nor the clarity of my handwriting, but I'll do my best.

Webmaster: image of email address

In order to stop email harvesting robots I'm using an image to display my address instead of text.

This web site is 100% hand coded.

Back to the top