Teaching algorithms to children through the use of
Task-based and visusalization techniques

The power of the unaided mind is highly overrated… The real powers come from devising external aids that enhance cognitive abilities. —Donald Norman


Through this project I wanted to extend the resources that are available to teach concepts of programming to children by providing them with a theoretical understanding of elementary algorithms.

Communicating the theoretical concepts of an algorithm for school children provided an interesting research and design challenge, which was explored through task-based learning methods and visualizations.

Project Details


September 2015 - April 2016

Tools Used

Illustrator, Photoshop, JavaScript, D3.js


Dr. Prasad Bokil, Department of Design, IIT Guwahati


I was the sole researcher, and performed literature review, brainstorming, design, prototyping and preliminary usability evaluations.


We created a solution which aims to give the user a conceptual understanding of sorting algorithms. The design allows the user to explore about sorting algorithms through a scenario based task followed by a visualization of the sorting process. Feedback is provided based on the task through the visualizations and allows the user to re-attempt the task.

01. Methodology

I initially followed an open-ended literature research in the domain of Algorithm Visualizations (AVs) in order to obtain a holistic idea of the work done till now and identify possible areas of intervention.

This was followed by problem identification and the traditional design methodology to address this problem.

02. Literature Research

Key Findings
Effectiveness of Algorithm Visualization systems

AVs where students were required to Reflect or Respond upon the problem were found to be significantly more effective than AVs where only Viewing was required.

Algorithm Visualization use in classrooms

It was found that a lot of instructors believe that AVs would improve CS learning and that the use of AVs for instruction, however is not widespread.

Salient Features of effective Algorithm Visualizations

The ability to control the pace of the visualization or focus on the logical steps of an algorithm makes an algorithm visualization more effective.


Lack of effective visualization as most AVs are at the Viewing level

Disproportionate share of AVs on fundamental algorithms

Lack of a complete catalogue for AVs

No AVs target students below CS undergraduate level

The analysis revealed numerous possible directions to proceed. Based on my experience and my general interests, I decided to address the gap of the absence of tools which target students at the school level.

03. Problem Definition

How to enable the learning of concepts of elementary sorting algorithms for Children in Grades VII – X , with little or no programming proficiency, by focusing on the logical and working steps involved in the algorithms?

04. User Research

The User Research phase helped in determining the scope of the problem and the pre-exisiting constraints. I interviewed 5 children in age group of 12-16 which helped me to:

Identify the pre-requisite knowledge of our target audience group based on their academic coursework

Determine the target audience's use of other commonly used tools aimed at learning programming

Understand possible user constraints in learning the subject matter

05. Design

Design Goals

Context based

User Centric


Instructional Goals
Instructional Content

The concepts were presented by ensuring the instructions centered around the application of real-world tasks or problems, and involved recall of prior knowledge for learning.


A web-based learning platform was proposed as it provided ease of accessibility, and greater flexibility in the interactions


A constructivist approach has been adopted for delivery:

  • First, allowing the user to explore the problem space through a scenario,
  • Using visualizations to acquaint the user with the subject matter,
  • Finally, asking the the user to perform a reconstruction of the subject matter by completing the task again.

Most AVs discussed in literature were very abstract. Due to our target audience being school children, a visualization should also be able to communicate the need for using an algorithm through the use of context based visualizations.

For the design of the system, we used the instructional design model of Merril's First Principles of Instruction as guidelines. These principles determined the content and how it should be presented for effective instruction.

I decided to choose the task of sorting weights using balance scales to present the users with the sorting challenge as it provides a natural analogy for the chlidren (The demography of the children taken into consideration were Indian students).

Work Flow

06. Prototyping

The design attempted to provide the users with a simple, clean and intuitive interface which communicates clearly the goals of the system. I developed an initial web-based prototype and performed usability tests of the interface by the appropriate audience. I refined the initial interfaces based on feedback received from the usability tests to create the final prototype.

07. Evaluation


2 rounds of usability tests were performed on the interface with 3 users in each round. This allowed us to identify the issues related to the instructions on using the interface, interactions for selection and comparison etc.

Testing the Effectiveness

We are currently testing the system on a group of children from Std VIII to X to understand it's effectiveness. This group will be allowed to interact with the system (first the task and then the explanation using the visualization). They will then attempt the task again and explain their actions and subsequently will be presented to some written problems.

This will be compared to a control group of children who will be explained about the same sorting algorithms on a blackboard and will be presented with the same task and questions to measure their performance.