In this series of liveProjects, you’ll use the Java-based Processing platform to visualize common data structures and algorithms. Processing gives you direct access to a digital canvas and a powerful set of drawing primitives that allow you to generate stunning visualizations. Each liveProject in this series will cover visualizing a different kind of algorithm, improving your understanding of how the algorithm works through thoughtful graphic representation.
These projects are designed for learning purposes and are not complete, production-ready applications or solutions.
here's what's included
Project 1 Sort and Search Algorithms
In this liveProject, you’ll explore the basics of sort and search algorithms. You’ll begin by sorting a simple data structure with the “selection sort” algorithm, then use the state-of-the-art quicksort algorithm. You’ll use the Processing platform to visualize every step, before finally programming a binary search function and visualizing the search process on your sorted data structures.
Project 2 Graph Data Structures
In this liveProject, you’ll walk through the basics of tree and graph data structures, and explore two algorithms that can efficiently search these data structures. You’ll use the Breadth-First Search (BFS) algorithm to search a dataset structured as a tree, then move to Dijkstra’s algorithm to find the fastest path in a graph dataset.
Project 3 Multidimensional Datasets
In this liveProject, you’ll implement a multi-dimensional dataset and visualize it using dimension reduction on a Processing canvas. Dimension reduction helps select the most important features of a dataset, and is useful in machine learning. You’ll then explore distance functions and the k-Nearest-Neighbors algorithm to classify a new element.
Project 4 Parallel Computing Algorithms
In this liveProject, you’ll walk through the powerful MapReduce algorithm. MapReduce maps out data tasks to multiple processors, and then reduces all processors’ results to a single combination. You’ll use Processing to visualize MapReduce with twenty processor nodes, then animate the MapReduce algorithm with a streaming input dataset