As part of the AP Studio Art course that I posted about a few months ago, I will be submitting a portfolio to the College Board in a few months. Currently I am working on my concentration, a set of 12 images focused around a central theme or topic. I have chosen to focus on visualizing computer algorithms and the patterns behind them. Here are a few of the algorithms I focused on for the first few pieces.

Sorting Algorithms

Because of their prevalence in computer science, I looked at sorting algorithms for my first few pieces. I started off by pulling together a few algorithms in Processing. I created an implementation of bubble sort and quicksort and wrote an algorithm of my own (similar to an insertion sort). I then stored their progress at each step of the way while they sorted a random list.

This is a static visualization of a bubble sort. In this piece, time is represented vertically and position in the list is represented horizontally. Value is represented by color. At the beginning of the sorting process, the list is completely scrambled (at the top) and once the algorithm is done working (at the bottom), it is completely sorted. This algorithm works by switching pairs of numbers that are out of order in the list. This is what produces the diagonal lines in the visualization.

end (1)

Using different sorting algorithms and visualization methods, I found patterns and interesting visual effects that are purely based on how the computer is “thinking.” Below is a different visualization of an insertion-style sort. See the video link in the caption too!

Video of computer in action on this sort.

For quicksort, I handmade a piece to show the patterns behind it. This was done with paint on glass and photographed with tissue paper added.


Finally, to tie all of these algorithms together into a single piece, I combined two visualizations of each algorithm and a few contextual labels and numbers. The numbers across the top of the picture below are the list before it was sorted and the numbers at the bottom are the sorted list. The sorting algorithms from left to right are: bubble sort, quicksort, and my personal version of an insertion sort.

This was a giant picture and something I would love to have printed very large in order to show the intricacies of the algorithmic visualizations.

hi res.png
Click to get a larger version of the image

Below is a close up of a part of the top left visualization to show a bit more detail.

hi res copy2

So those are my sorting algorithm visualizations! I will be posting about more art/computer projects hopefully in the next few days as I wrap up a couple new pieces.

Thanks for checking these out!