text: Graph V0.4 for GEOS
  Release 0.4 4/30/96
  
  
    Description
    ===========
  Graph is a program that was written partly and C and partly in GOC (C for GEOS) for a software engineering project at Penn State Harrisburg (a branch of PSU). It is meant to be used as a visual teaching aid for algorithms classes in which students are learning about graph algorithms such as Prim's minimal spanning tree, and searches like Depth First Search. You can create and remove vertices and edges easily by clicking and dragging directly on the view in the program. Select operations from pull-down menus and see how the graph algorithms work.
  
  
    How to use
    ==========
  Most of the features are very straightforward. The parts that are not documented are as follows:
  
  - To create a vertex:
    > Click anywhere in the view and a vertex will be added there.
  
  - To create a directed edge:
    > Click on the start vertex,
    > Drag to the end vertex,
    > Release the mouse button.
  
  - To create an undirected edge:
    > Select the two vertices you want to act as endpoints for the new edge,
    > Select "Edge"/"Add" and an edge will be added between the two selected vertices.
    (This actually works on more than two vertices at once, so you can select more than two vertices and select Edge/Add and the selected vertices will be made complete.)
  
  - To select an edge (either directed or undirected)
    > Click on the start vertex,
    > Drag to the end vertex,
    > Release the mouse button. The edge will turn yellow to indicate that it is now selected. You can now perform edge operations on the selected edge, such as Edge/Remove.
  
  - Perform MST, Search, or Shortest Path
    > Create a connected graph, using several vertices with edges connecting all or most of the vertices. The graph does not have to be complete (edges between all pairs of vertices).
    > Select one of the operations, such as Prim's MST.
    > The operation will start and an edge will become colored (either blue, red, orange, purple, etc.) [An updated help file will be included in the next release.]
    > When the edge has been highlighted that means the program is waiting for you to press a key (any of the alphanumeric keys, please). The next step in the algorithm will then be performed.
    > There is not yet any indication of when the algorithm has completed, so press a key several times after you think it is done, just to make sure.
  
  Again, more complete documentation will be written for the next release (scheduled for July). Also, look for a GEOS only version of Graph in the release scheduled for October.
  
  
    Files
    =====
  The .MK, .GP, .GOH, and .GOC files are the GEOS files that are needed to make this program work under GEOS. If you want to write this program for a non-GEOS environment, you will have to write your own portability driver routines, such as the user interface (using a windowing environment such as Steph or Windows) and drawing functions (using BGI or Windows graphics).
  
  
    Credits
    =======
  Joe Barbara (Class of 1996)
    Shortest Path
    System Model
  
  Tom Denn (Class of 1996)
    Breadth First Search
    Extensive work on requirements documents
  
  Nathan Fiedler (Class of 1996)
    Custom GEOS code and portability driver functions
    Queue, stack (already written from previous class)
  
  Ken Sievers (Class of 1996)
    Kruskal's, Prim's
    Graph functions
  
  Lee Stover (Class of 1996)
    Depth First Search
    Formal Specifications
  
  All members also helped tremendously in writing the requirements documents and formal specifications (especially Joe, Tom, and Lee), as well as consulting during the coding of the higher level functions. Many long days and nights were spent, crammed into my apartment bedroom huddled around the two computers, working on this program. I will never forget the joy of working with these guys. Thank you.
  
  Professor: Dr. Tim Wahls
  Advisor: Dr. Thang N. Bui
  
  The Pennsylvania State University at Harrisburg
  Math/Computer-Science Department
  777 West Harrisburg Pike
  Middletown, PA 17057
  http://www.hbg.psu.edu/math-cs/
  