Four-Project Series

Visualizing Algorithms you own this product

prerequisites
basic Java • basic Processing • basic debugging
skills learned
Processing canvas and coordinate system basics • Processing draw loop and animation basics • working with the Processing 3D camera • Processing audio playback and movie rendering
Yu Zhang and Mathias Funk
4 weeks · 8-12 hours per week average · ADVANCED

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


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.

Manning author Mathias Funk shares what he likes about the Manning liveProject platform.

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

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Visualizing Algorithms project for free

project authors

Mathias Funk
Dr. Mathias Funk is an Associate Professor in the Future Everyday group in the Department of Industrial Design at the Eindhoven University of Technology. He has a background in Computer Science and a Ph.D. in Electrical Engineering from Eindhoven University of Technology. Since 2011, he has taught creative programming, computational prototyping, and designing with data and connectivity, and built tools for design researchers.
Yu Zhang
Dr. Yu Zhang has a background in fine arts and design. Her PhD research investigates the theory and artistic practice of interactive technologies for public, large-scale installations. As a researcher and artist, she approaches visual art with mixed reality installations and projections, sensor-based interactives, and computational arts. She has been teaching design and art in international workshops and higher education for over ten years.

Prerequisites

This liveProject is for software developers, tech educators, and aspiring programmers who know the basics of Java programming. Some experience with Processing will be helpful, but is not required. To begin this liveProject you will need to be familiar with the following:


TOOLS
  • Basic Java skills such as variables and functions, control structures, if statements, and loops
TECHNIQUES
  • Simple data structures
  • Simple object-oriented programming
  • Basic debugging using print statements and the Processing console

you will learn

This liveProject is an ideal preparation for programming interviews, whiteboarding exercises, computer science studies, and visual communication skill improvement. You’ll deepen your programming skills with a better understanding of common algorithms.


  • Simple data structures in Java (Processing)
  • Selection sort and quick sort algorithms
  • Sequential and binary search algorithms

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.