David Cheung webpage:  

Java

C++

Programs

(sort by course)

 

 

 Syllabus

Harvard Extension

Course: Java for Distributed Programming

 

Download

HW1-3: Elevator

Dates Submitted: 2/11/2001, 2/27/2001, 3/14/2001

This is a 3 part exercise on utilizing java classes for  object oriented programming. As the assignment progresses, the complexity become more involved in specific attributes for each objects. For example: 1) Using randomization to create a different scenario each time,    2) Utilize a link-list to handle objects within objects 3) Use accessors and mutators for classes, and so on.

 

Download

HW4-6: ATM

Dates Submitted: 4/09/2001, 4/22/2001, 4/26/2001

This is a 3 part exercise on server-client architecture under Java environment. As the assignment progresses, different types of network implementation were used. HW4: 1) Sending data using basic java socket classes. 2) RMI. 3) CORBA

 

 
 

Project: Automated Teller Machine

 

download

 

Date Submitted: 2001-05-21
This is a text user-interface in simulating a the multi-level client server architecture of an ATM machine using rmi implementation. This is a
more mature development from HW4-6, with several features added.  1) Atomized transactions are atomized via synchronized function, 2) A Bank and Account security implementation is added, 3) A callback feature that will update the server for any changes.

Further description is located in the "overview.txt" of the zipped file.

 

 
 

C++

Back to top

 

Syllabus not available

Course: AI

 

Download

HW1: 3x3 Tile Puzzle

Date Submitted: 1999-02-09

This is simple search algorithm to find a solution to any 8-piece 3x3 slide-tile puzzle. This program uses 3 methods of search algorithm: 1) breath-first search, 2) depth-first, and 3)iterative deepening algorithm.

Further Instruction is in the "intro.txt" of the zipped file.

 

Download

HW2: 3x3 Tile Puzzle Part 2

Date Submitted: 1999-02-23

Modification of the previous work to use A* search algorithm and two types of heuristic: 1) Manhattan heuristic and 2) Quick heuristic.

Further description is in the "readme.txt" of the zipped file.

 

 

Current Syllabus

 

Course: Software Design

 

 

Download

Lab3: Elevator

Date Submitted: 1998-10-15

Similar to the Java version, the purpose of this program is to simulate several elevators in a building.

To run, extract the content, open a command prompt window, "cd" into the directory of the extracted folder, then run the program "lab3v2\Debug\lab3v2.exe".

 

 

 

Download

Lab6: Polymorphism and Objects

Date Submitted: 1998-11-24

This is a simple program exercising the use of polymorphism and GDI objects.

Further description is located in the file "Instructions.txt" of the zipped file.

 
     
     
1