Computer programming is a lot like chess. It is fairly simple to teach people the moves. But knowing how the pieces move isn’t the reason you can win. You have to understand how the pieces work together. It is easy to learn the mechanics of a for loop or a Java interface. But what makes programs work are algorithms. There are many books and classes dedicated to algorithms, but if you are a visual learner, you might be interested in a site that shows visualizations of algorithms called VisuAlgo.
The site is from [Dr. Steven Halim] and is meant for students at the National University of Singapore, but it is available “free of charge for Computer Science community on earth.” We suspect if any astronauts or cosmonauts wanted to use it in space, they’d be OK with that, too.
The animations and commentary take you through algorithms ranging from the common — sorting and linked lists — to the obscure — Steiner and Fenwick trees. Each animation frame has some commentary, so it isn’t just pretty pictures. The site is available in many languages, too.
Many of the animations allow you to set up problems and execute them using a C-like pseudo language. When it executes, you can watch the execution pointer and a box comments on the current operation. For example, in the linked list unit, you can create a random doubly linked list and then search it for a particular value. Not only can you see the code, but the graphical representation of the list will update as the code runs.
The site allows you to register for free to get additional features, but we didn’t and it was still a great read about many different data structures. Also, a few of the commentary slides require you to show you are actually a computer science professor — we assume there’s some copyright issue involved because it is only a few.
This site is a great example of how many free educational resources are out there on the web. It isn’t just computer science either. MITx — or more generally, edX — has some great hardware classes and many other topics
looks promising, unfortunately does not work well on small screens like phones. :-(
Isn’t chess a mostly “solved” game by computers as of somewhat recently?
Chess was solved a long time ago, chess is a complete information game, we just had to wait for computing power/techniques to catch up. On that front it’s been solved since 1997 with Deep Blue v Kasparov. You’re thinking of Giraffe, the neural network that taught its self chess based on a learning set of games & analyzing the board rather than brute forcing it like Deep Blue.
Great resource, thanks for sharing! A worthy mention is a tool I’ve used while training my team – it’s this open-source algorithm visualizer by Jason Park: http://algo-visualizer.jasonpark.me/#path=sorting/bubble/basic
I came here to relax… only to find my lecturers website reminding me that I have my exam in two days time… :P
Nice companion to visual programming.
Great resource, thanks for sharing VisuAlgo. Worthy mention is this open-source algorithm visualizer I’ve used to train my team: http://algo-visualizer.jasonpark.me/#path=sorting/bubble/basic
Nice work!
Cool????????????
Really nice though I think it’s all in java