| ||
Student Originated Software 1997-1998
| ||
A Software Engineering Course at The Evergreen State College | ||
|
Student Originated Software1995 - 1996 Project DescriptionsCampus Information through a Virtual Reality Modeling Language Interface. VRML is a newly invented notation for navigable 3-D models; it allows three dimensional spaces and objects to be described in relatively small files, which can then be efficiently transmitted over the Internet and displayed by suitable rendering programs or browsers. This team created a navigable three dimensional image of the college's central plaza, a complex of seven big buildings including a clock tower, some balconies, a large canopied entrance, trees, and some other interesting spaces. They also did models for a room in the library with waist-high bookshelves, and a dorm room with furniture. These included textures displayed on the surfaces, signs identifying the buildings, a QuickTime movie about seminar discussions at Evergreen running on one of the classroom's walls, and links that let you jump from appropriate signs on the central plaza to the other models or to Web pages with more information about each area.
Carried Away. Carried Away is a multi-media interactive story for eight year olds, created in Director; the user begins in a magical gazebo and must navigate through several different sorts of worlds, making choices and solving puzzles in order to reassemble the parts of a device that will defeat the villain, Sludge, who is draining the energy from the worlds to sustain himself. The team did a thorough job on three of the five worlds that they had storyboarded - the backyard workbench and magical gazebo belonging to the helpful inventor whom players are supposed to rescue, a ship crewed by cute animals and trapped by sludge in a world where the oceans are shifting sand, and the villain's castle. (They also provided a screen at the entrances to the other two worlds which allowed users to get the objects they needed from them to be able to play all the way through the game.) The game included not only navigation through forty or so screens (rendered in Strata 3D) and many animations (of both characters and gadgets), but a backpack panel on which users could collect objects, an impressive maze, extensive audio, a number of QuickTime movies, and several puzzles, including one with multiple moving parts and changing colors.
Canopy. This team developed a prototype database and visualization system for canopy science researchers at the Wind River Canopy Crane Facility, a national ecological study area in southwest Washington. Data on meteorological conditions and trees were supplied by scientists who maintained the shared research site; the students interviewed scientists and determined requirements for an database. They searched the internet for applications appropriate for their users, and designed and implemented an Access database that would display data according to simple user queries. They also designed a separate visual data browser in a geographical information system, ArcInfo. The prototype database contained meteorological (temperature, humidity, precipitation, radiation, soil and wind properties) and stem map (tree tag, location, species, height, diameter, status, class, etc.) data for the wind river site. The visual browser focused on stem data. The project culminated in trip to Wind River to demonstrate the systems to canopy researchers, and to gather suggestions for further work.
Disaster Simulation Software. This application helps managers prepare training exercises for users of Washington State's Emergency Information System software, which the state uses to help track and respond to disasters. The students implemented a user interface in Visual Basic and an underlying database, using the Access engine. Their prototype displays scalable maps, allows the entry of information about resources at locations specified by mouse clicks into the database, displays resources of various types on the maps, and estimates damage probabilities for them in earthquakes (using simple statistics about expected percentages of damage) so that people can easily simulate possible outcomes and prepare training exercises based on them.
Electronic Laboratory Notebook. Working for the Collaboratory Group at the Environmental Molecular Science Laboratory at the Pacific Northwest National Laboratory, this group developed an interactive electronic laboratory notebook to let collaborating researchers view and annotate experimental data over the network. It uses CGI scripts, a Java applet, some Javascript, and HTML pages with frames to allow Netscape users to create, view and delete notebooks and folders containing x,y data from their experiments; to enter and share metadata and annotations; and to view graphs of the data and dynamically re scale them.
Firewall. A firewall is a network security facility that sits between one's computers and the outside world, eliminating incoming messages which appear to be security risks. This team extended and distributed a version of the Linux Operating System that would allow a machine running that operating system to act as a firewall. The linux-firewall-version was developed and installed initially for a local Linux user, the Speakeasy Cafe in Seattle, with whom the team contracted to provide consulting services about secure network configurations. Because Linux itself and any changes to it are freeware protected by the GNU licensing agreement, this team's marketable product was consulting services - security in the form of proper configuration, added security programs, and patches to existing programs that have known security deficits. The base system was security-enhanced by proper configuration, security patches to various programs and the kernel, as well as the addition of several security applications to include ssh, the shadow password suite, rewritten report, tripwire, the public domain version of ISS, proactive password checking, Crack, tcpdump, lsof, proper System V init, cfs, and more. In sum, the team modified, installed and maintains over 3,000 lines of LINUX code.
GIS (geographical information system). This team of six students extended the capabilities of a campus geographical information system (GIS) to support fist year environmental studies students in data gathering and analysis. The existing Evergreen GIS, mapping in the ArcInfo product the 1,000 acre Evergreen college campus, had been loosely set up two years earlier. This team extended that work by designing a framework of applications, GIS maps, methods and procedure for efficient storage, analysis, viewing and retrieval of information about ecological surveys conducted by students and faculty. An important secondary objective of the project was to explore ways that data collected over a number of years could be stored in compatible formats, included in a widely available index, and archived to enable longitudinal studies. The primary goal of the project was to enhance the teaching of ecological studies at Evergreen, but an important secondary goal was to improve the ability of the college to preserve its status as an ecological study site.
The team implemented three components: "PlotaBase" - an ecological data management system implemented in Access, "PlotView" - an alternative database system implemented in Smalltalk, and a set of experiments, policies and procedures in ArcInfo and ArcView. The Access prototype is the likely candidate for data collection; it allows for recording of student data in a user friendly manner, and easy entry of information common across many studies (species and plots). The Smalltalk prototype was an important alternative to the Access product because it provided a basis for comparison between what could be accomplished with a dynamically typed language and a powerful and flexibly user interface generator that allows one to build computationally complete applications. The ArcInfo and ArcView part of the project represented the most difficult technical challenges, and hence the most significant accomplishments. The problems of data integration fell squarely with this part of the project, as did the technical problems of generating flexible coverages so that new student plots could be defined by faculty and staff with a minimum of ArcInfo technical expertise. Kestrel. Kestrel, a visualization tool for viewing and manipulating satellite images, uses a 3-D image of the globe as the interface, shifting the display to a new center point whenever the user clicks on the globe. The right mouse button produces a file dialogue box that lets you select from the false color images that the Jet Propulsion Laboratory has produced using satellite data about sea surface temperature and phytoplankton density, and then shows that image superimposed on the appropriate sector of the globe display, as well as allowing users to take pairs of images and produce a new image from them in a variety of ways, like summing the corresponding pixels or taking their difference.
No Hope! This game originally aspired to integrate features of role-playing environments like MUDs and ray cast combat games like DOOM, in a multi-player networked setup. The students had to scale down their plans in response to technical difficulties, and by the end of the year they had a running 2-D game based on an overhead view of a landscape on which one player fought against the computer in a battle with animated tanks whose treads moved, turrets rotated and weapons fired. Their opening movie did a high-speed fly-over of terrain generated in KPTBryce, past a rendered tank, ending in a violent death and the title, No Hope!
Phage Workbench. The T4 database is currently researched world-wide by a group of 100 researchers, and maintained on site at Evergreen. Project objectives were: 1) to write a user interface for an existing database of the genetic information for the T4 phage genome, 2) to provide expertise and sample visualization of key proteins manufactured by the T4, and 3) consider extending the interface to connect to visualization and computational biology programs. Incidentally, they will provide support to database users on site, who would have been focus group and beta test users. The database part of this project was scrapped after fall quarter; one student continued work on the visualization project, using the MidasPlus software from University of California at San Francisco to develop materials that could be used by Evergreen molecular biologists and chemists in teaching.
Satori. This team defined a compilable Smalltalk-80 that allows (but does not require) the programmer to specify variables as strongly typed. A typed Smalltalk allows method binding at compile time and hence in theory addresses the performance criticism often made of Smalltalk. To that end, they defined the language, and developed and tested a compiler and interpreter for it. The system was written in standard (ARM compliant) C++ and used GNU-ST as its basis and PCCTS for lexical analysis and parsing. The final system included a byte code compiler, an interpreter, and 103 primitives. The Smalltalk engine consisted of a garbage collector that used the Baker's semi-space algorithm) and mechanisms for creating and maintaining objects. In addition to these, the team implemented debugging and tracing utilities, exception handling, and Smalltalk collections and string classes. By the end of the year the team had written a functional Smalltalk compiler - over 5,000 lines of code.
SwimTRAK. This Windows '95 program allows coaches to record and track swimmers' race times effectively, as well as helping them handle the paper work involved in entering and managing meets. It displays seasons, meets, events and individual swimmers in a scrolling hierarchical menu, and allows users to enter and edit data about all these and about individual swimmers' performances through well designed dialogue boxes. (With more time, it would also have had the ability to graph swimmers' times and provided an interface through which users could search the underlying database to look at whatever sections or combinations of the records they wanted to study.)
WASAA -- Washington State Affirmative Action Project. The Washington State Affirmative Action Project (WASAA) re-engineered a database of job applicants and jobs, by geographical area, for the Washington State Department of Labor and Industries' Affirmative Action Project. The final system recorded information about jobs and applicants, including education, employment history, affirmative action status, geographical preference, and the specifications defined how to match applicants to jobs. The system could perform queries on applicants and produce some reports. As per the customer's request, the system (previously written in Paradox) was written in Microsoft Access. These two students were offered jobs at L&I to complete the project over the summer
|