JAVA Programming Projects, Spring 2001

[ Project 1 ] : Web-based Chat Applet
[ Project 2 ] : Java-based Spreadsheet
[ Project 3 ] : Simulation of Hybrid Kinematic Mechanical Systems using Java3D
[ Project 4 ] : Simulation of Semiconductor Device Fabrication and Digital Circuit Performance
[ Project 5 ] : Personal Communication Services (PCS) System Implementation
[ Project 6 ] : Network Creater with support for Shortest Route Analysis
[ Project 7 ] : Program Evaluation and Review Technique
[ Project 8 ] : GPA and Gradation Applet
[ Project 9 ] : Graphical Animation of Actively Controlled Vibration System
[ Project 10 ] : Java-based Sound Recorder
[ Project 11 ] : Java-based Picture Viewing Applet
[ Project 12 ] : Spring Stretch Applet
[ Project 13 ] : Bouncing Balls connected by Springs
[ Project 14 ] : XML-driven Plotting Program
[ Project 15 ] : Fitting Viscoelastic Models to Experimental Data with Prony's Series Method


PROJECT 1

Title : Web-based Chat Applet
Developers : Jenish Joseph and Kiran Kumar Panchamgam

Description. We would like to develop a Chat applet similar to the one at Yahoo! People can go to the website, login, and chat with other users that are registered on the website and online. If time permits, we would add additional functionalities. We just have the basic framework in mind and would like your advice and comments/suggestions on this proposal.


PROJECT 2

Title : Java-based Spreadsheet
Developers : Vikas Malla and Sachin Suman Sinha .

Description. We plan to do following things in the Spreadsheet Applet that we will make for the project.

  1. Develop an applet which has a look-and-feel similar to the MSExcel software;
  2. Add a feature to highlight multiple rows and columns for the purpose of selecting the desired data;
  3. Add a feature to plot the highlighted data in a bar chart/graph;
  4. Add a feature to make the whole spreadsheet length variable, i.e., the spreadsheet expands according to the number of data entries. so when a user reaches the end of the spreadsheet but still wants to enter more values, he just hits enter key and another row is added to the spreadsheet.

In the limited time frame, we want to emulate the MSExcel spreadsheet as much as possible.


PROJECT 3

Title : Simulation of Hybrid Kinematic Mechanical Systems using Java3D
Developers : Sivasankar Pandeti and Jaya Kumar P. Patil

Description. We would like to simulate these mechanical systems using Java3D extensively. Our main focus is on 3D graphics. This mechanical system is very efficient for almost all the manufacturing processes like driling, milling, slotting, etc. Our similation would be very useful in designing these systems.


PROJECT 4

Title : Simulation of Semiconductor Device Fabrication and Digital Circuit Performance
Developers : Vijaya B Chebolu and Vinay Subramanian

Description. This applet aims to demonstrate the steps involved in the fabrication of a Semiconductor device like a MOSFET (Metal-Oxide Semiconductor Field Effect Transistor) (FET) and simulate the performance of this device in a digital circuit.


PROJECT 5

Title: Personal Communication Services (PCS) System Implementation
Developer: Rikin Thakker and Sourav Chowdhury

Description. In PCS (Personal Communication Services) Band i.e. 1900 Mhz band; we can use several Digital technologies to implement Cellular (Mobile Phone) Networks. This technology can be CDMA, TDMA or GSM.... Frequency Planning is different for different technologies. Also there exists several Models which are used for "Link Budget"( I.e. path loss, interference analysis etc.).

The project will give various options of Technologies to USER, and will ask to put his data (specifications which are supposed to be maintained). It will generate Path Loss Model, Frequency Planning and Link Budget. "HELP" will be provided while taking each and every input; so that an ordinary guy can also deal with this.


PROJECT 6

Title : Network Creater with support for Shortest Route Analysis
Developers : Haobo Jiang and Yuan Zhao

Description. This project will be a network creater with an ability to seek the shortest route between two arbitray nodes The user interface will have 6 buttons -- Add Node, Add Edge, Size Edge, Delete Node, Delete Edge, and Shortest Route.

  1. Add Node: Clicking the button, you can add nodes as many as you like, by clicking the right mouse
  2. Add Edge: you can drag an edge(straight line) between any two nodes.
  3. Size Edge: you can assign a size to the edge in time, or in length
  4. Delete Node: by deleting a node, the edges connected to it will automatically disappear.
  5. Delete Edge: once all edges connected to a node are deleted, that node will disappear.
  6. Shortest Route: Choosing a starting node and ending node, the solver will look for the shortest route between the two nodes.

Optional: Once an edge is formed, the size of it will automatically be shown as the distance calculated between the two nodes sharing this edge.. p.s. We can make this network as an electric circuit to calculate the eletric current at each edge , once there is a power source applied between two nodes.


PROJECT 7

Title : Program Evaluation and Review Technique
Developers : Guruprasad Pundoor and Narender Bhogadi

Description. A PERT chart is a project management tool used to schedule, organize, and coordinate tasks within a project. PERT chart aids in the reduction of over-all project time by showing which things can be done simultaneously and enabling a reduction of delays between things which are done sequentially. The applet that we intend to develop uses an opensource Java Library (see http://openjgraph.sourceforge.net ) to create and manipulate graphs. This library has features to draw directed graphs with nodes and edges. The nodes and edges will have menus that take in the data from the user. This data is then processed and the scheduling of various tasks is carried out.


PROJECT 8

Title : GPA and Gradation Applet
Developers : Dan Becker and Todd Sellers

Description. We want to create an applet that

  1. Calculates the classes required for graduation for someone who enters in the classes that they have already taken (this does not exist in the Mechanical Engineering Department).
  2. Calculates ones "in-major" GPA (this also does not exist)
  3. A course scheduling optimizer (possible)

Main point: we will create a tool that can be used by

  1. Freshmen and sophmores to explicity show them what they must take in order to graduate (based on entered info)
  2. Juniors and seniors who need their "in-major" GPA for grad school applications


PROJECT 9

Title : Graphical Animation of Actively Controlled Vibration System
Developers : Yong Li and Yue Huang

Description. Highway bridges are routinely subjected to heavy truck loads. These loads are very important to the fatigue life of bridges. Through active control of the truck suspension we can reduce the amplitude of truck vibration so as to reduce the tire force. This will reduce the impact factor which caused by vehicle dynamic wheel loads and further extend the fatigue life of bridges.

We will take the advantages of Java Swing to animate the time-history response of a 2-DOF mass-spring system. The project will show the real-time animation of the system and a real-time graph of the input base motion. User can input data for the system and control parameters so results of controlled vibration can be compared with uncontrolled one. This will give us some idea of how to optimize our design.

We would add more functions to the program such as frequency response if possible.


PROJECT 10

Title : Java-based Sound Recorder
Developers : Ali S. Rangwala and Raghu B Narayan

Description. A Java applet that:

  1. Records a sound file chosen by the user;
  2. Converts it into the appropriate .wav, or .au file;
  3. Transmits it to a mail box as a voice mail attachment. The Email address at which the voice mail has to be sent can be chosen by the user.


PROJECT 11

Title : Java-based Picture Viewing Applet
Developers : James Watkins and Courtney Schultz

Description. In this project we will design a web page picture-viewing applet. This applet will allow pictures that are stored in a publicly accessible portion of server space to be conveniently organized and viewed online. It will have the following properties:

  1. The program will recognize the pictures in a specific directory and create a pull down menu to access the pictures based on the filename of the picture. The filename will be of a specific format (i.e. GroupName_PictureName_PictureCaption), and a pull down menu will be created with the group names listed, with menus off of each group name that list all the available pictures in that grouping.
  2. Upon startup, the program will access the specified picture directory and create the pull down menu from the available pictures. Thus, the program will never need to be updated for changes in the available pictures, and placing a picture online will be as simple as uploading it into the specified picture directory.
  3. The program will offer two viewing modes, as follows:

    Mode 1 will allow full size pictures to be viewed, as accessed from the pull down menu. In this mode, the picture caption (notes that correspond to the picture) will be displayed below the picture.

    Mode 2 will show thumbnail pictures of each of the available pictures in a group. These thumbnail pictures will actually be buttons themselves, and clicking on them will bring up a full size view of the picture. Holding the mouse over a thumbnail picture will display its caption.

This project will make the presentation of photos online much simpler, since the program will recognize the pictures available on the server and automatically make them available to a user. Again, the web page author will only need to name the picture using the specified naming convention and then upload the picture onto the server to make the picture available.


PROJECT 12

Title : Spring Stretch Applet
Developer : Kris Haley

Description. I would like to develop an applet that would show, in an animation, how far a spring can lengthen when a weight is applied to the end of it. This application can show the different loads that a spring can hold. I am also considering adding in different types of springs.


PROJECT 13

Title : Bouncing Balls connected by Springs
Developers : Alan Bender , Eric Miles and Mike Randolph

Description. We'd like to create a Java applet with balls bouncing around the inside. At the beginning of the program execution, there won't be any balls. As balls are added, they will be connected to those balls already present by "rubber bands." In addition, the user will have the option to change the velocity, number and other properties of the balls, such as color and size. The user will also be able to drag the balls to new locations, which of course would drag all of the other balls connected to that one. However, since they are connected with "rubber bands" the strings connected to the balls will expand when pulled, but return to their original length when released.

The applet will run smoothly through the use of threads and double buffering. Code examples will be taken from the TA's tutorial as well as the demos on the CD that came with the Java Tutorial book.


PROJECT 14

Title : XML-Driven Plotting Program
Developers : Abhinav Joshi and Vijay Krishnamurthy

Description. We implement a Java program that reads an XML description of data and produces bar, pie and line graphs. We have implemented the ability to generate new XML documents in real time. Since our project requires JAXP 1.1 XML parser > our program is a standalone application and incorporates the entire features of XML file handling.


PROJECT 15

Title : Fitting Viscoelastic Models to Experimental Data with Prony's Series Method
Developer : Huiqing Jin and Yiquan Hu

Description. The relaxation modulus of viscoelastic material is usually expressed in the convolution integral form. To implement such material model in finite element analysis (such as ABAQUS), we need the numerical expression of relaxation modulus.

Different viscoelastic models (such as Maxwell, Kelvin, etc.) yield different expression of relaxation modulus. The generalized relaxation model, or Wiechert model is commonly used, which can be expressed in Prony series.

The ViscoFit Applet is designed to solve Prony Series problem, therefore the experimental test data can be represented in Finite Element Analysis. The graphical user interface (GUI) is used by calling to Swing and Java2D.


Developed in March 2001 by Mark Austin
Copyright © 2001, Department of Civil Engineering, University of Maryland