ECS400 Projects ECS400 Projects Nancy McCracken NPAC 3-234 CST, ext. 4687 Syracuse University Syracuse NY 13244-4100 February 7, 1996 Click here for body text Overview of Project Options There will be two "standard" class project options. These will be well-defined projects involving a Web interface to a collection of data, with both access to the data and a computation on the data. In the first half of the course, you will implement this using C for the data access and computation, and using Perl for the CGI interface to the Web. The interface should allow user access to the data and view the results of the computation. We will provide the data and define the computation. You will write the programs and design/define the web interface. In the second half of the course, you will reuse the C part of your earlier implementation to access the data, and redesign your web interface using Java applets. It is also possible to rewrite the C computation as a Java applet, which would allow more interactive visualization of the result. I have collected several "partially defined" class projects options. I may have data, leaving you to define the computation and web interface. Or I may have a computation, leaving you to define the entire application scenario. You may suggest your own "individualized" class project. Standard Class Project: Telemedicine Data: patient records "database" (in Unix file form), includes diagnostic images. See http://kayak.npac.syr.edu:1200/ for an example or http://kopernik.npac.syr.edu:1200/images/ for more images. Scenario: The "user" is a doctor who can look up patient records to view them. The user can also add information and run a comparison computation on diagnostic images. Implementation 1: Design the user interface - what information can the user view. Write a C or Perl program that extracts that information. Write a C or Perl program that compares two images. Write the HTML for the Web interface and the Perl program that is the CGI script. Standard Class Project: Air Flow Data: heating and cooling units with pressure specs. Scenario: The "user" is an architect who can look up units and view their specs. We assume the user knows how much air flow is required for a room. The user specifies a length of air duct and a cross-section and is told whether a chosen unit has enough air flow and is shown the result of the simulation that shows the interior air flow pattern of the duct. Implementation 1: Design the user interface - how the user views units, chooses one, specifies the duct, and views the results. Write a C or Perl program to extract the unit information. Write a C or Perl program that calculates air flow and conducts the simulation. Write the HTML for the Web interface and the Perl program that is the CGI script. Air Flow simulation The problem is to solve Poisson's equation over the cross-section of the duct to obtain the velocity of the air over the area. Represent the cross-section as an array of velocity values, with special values for the border of the shape, whose velocity is 0. Solve Poisson's equation, using the specified air flow for the function value over the interior of the shape. Partially Defined Projects: WhaleNet project. There is a large database of whale sightings, which already has a Web interface - http://kayak.npac.syr.edu:6398/cgi-bin/whaleb_home. Choose a subset of the data and make your own interface. Define a computation on the data, for example, given a selected set of whale sightings, pick a map and display locations of sightings. Product catalog of electronics company with specs and pictures of components. Design scenario and computation. Choose engineering computation that you've already worked with - structural analysis, circuit design, blood flow simulation . . . Design data and scenario. Educational math games for elementary children. Use PL/SQL or OraPerl to program web interface to Oracle database for any of these projects (limited to small number of students with appropriate background). Choose your project. The second part of the implementation will be using Java to design a more interactive interface, animate some portion of the interface, or put the computation into an applet. Interested students may wish to use VRML to define a scene graphically for viewing. Write a description of the project that you want to do. Consider not only the first part of the implementation, but also the second part. For example, if your goal is to use VRML, say what scene you plan to display. If you are designing your own project, be more detailed than if you're picking a "standard" project. Put your project description in an html file and link it to your class webpage. (Due at the end of this week's labs.)