For Learners using JHAVÉ

The JHAVÉ project is an ongoing and evolving project that is currently developing laboratory resource modules for the following data structure and algorithm topics. A central component is a JHAVÉ-rendered visualization of the algorithm, but a mere visualization without supporting materials does not necessarily lead to learning. Consequently the vision of the JHAVÉ project is to provide each module as a section in a Visualization-based Computer Science Hypertextbook, (a "VizCoSH" by the terminology established in this report of a Working Group convened at the 2006 ITiCSE Conference)

Not all of these lab modules are yet complete. A complete module consists of the following components:

  1. A hypertext page that provides a textbook-like description of the algorithm. In addition to this standard text-book like description of the algorithm, you will find a link to ...
  2. A JHAVÉ-rendered visualization of the algorithm. These links are typically provided in the section of the hypertext page in (1) that we call "Explore the algorithm ..." This visualization will include pop-up questions that are designed to test how well you understand the algorithm being portrayed. Typically such question will ask you to predict what will happen in the next step of the algorithm's execution. In addition to these pop-up questions, the right side of the JHAVÉ environment is augmented with two tabs called "Pseudo" and "Info".
  3. The pseudo tab contains a pseudocode description of the algorithm that is synchronized with the graphics that depict the in the left pane of the environment.
  4. The info tab contains additional documentation about the algorithm. Oftentimes we use this documentation to explain how the graphics being displayed in the left pane comprise a "picture" of the state of the algorithm.

Since not all of the modules are complete, the list below provides a "legend" for each module that describes the components that are currently available. This legend consists of three "codes":

Sorting

Bubble Sort (H,P,I)

Selection Sort (H,P,I)

Insertion Sort (H,P,I)

Heap Sort (MH,P,I)

Merge Sort (MH,P,I)

Quick Sort (H,P,I)

Shell Sort (MH,P,I)

 

Graph Algorithms

A-Star Search (H,P,I)

Beam Search (H,P,I)

Best First Search (H,P,I)

Depth & Breadth-first Search (H,NP,I)

Dijkstra's Algorithm (H,NP,I)

Floyd's Algorithm (H,NP,I)

Kruskal's MST (H,NP,I)

Prim's MST (H,NP,I)

Hashing

Linear Hashing (MH,NP,NI)

Chained Hashing (MH,NP,NI)

Double Hashing (MH,NP,NI)

Quadratic Hashing (MH,NP,NI)

Miscellaneous

Binary Search Trees (NH,P,I)

Red-black Trees (NH,P,I)

Huffman Encoding (NH,NP,NI)

Huffman Decoding (NH,NP,NI)

Stack-based Parsing (NH,NP,NI)

 

Creative Commons License This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.