Tuk Tuk
Tuk Tuk
Tuk Tuk
Tuk Tuk:
A Block-Based Programming Game
725
Demonstration IDC 2017, June 27–30, 2017, Stanford, CA, USA
While several block-based programming platforms have Tuk Tuk allows learners to program by using a block-
been developed (e.g. Scratch, Snap), relatively few of based language or programming-by-example method,
726
Demonstration IDC 2017, June 27–30, 2017, Stanford, CA, USA
as well as implement DFS and BFS algorithms. There long script and encourage learners to think about how
are multiple solutions to complete each task, and to solve the problems efficiently.
learners have to decide on how to solve the problem.
2.3) “Run Program” Button and Map Simulation Area
2) Core Mechanics (“What is possible?”) Tuk Tuk allows rapid iteration, the ability to add or
2.1) Coding Blocks delete blocks to a script and see the result quickly.
Tuk Tuk’s coding blocks are represented as simple Learners can run a program fragment at any time to
Figure 4: Sample of visual phrases so that learners can intuitively understand see what it does. When the “Run Program” button is
feedback and error message. what each block does. The blocks are color-coded in clicked, the “Map” section will simulate script execution.
order to help learners find blocks in the same category. Learners can check whether the program do what it is
The coding blocks are also easy to manipulate. Learners intended to do, and if the program has an error, an
can click on a coding block in the palette to add it to error message will appear (Figure 4). These features
the script, and click on a coding block in the script area help learners stay engaged in testing, debugging, and
to delete it from the script (Figure 3). Moreover, the improving their program.
coding blocks are designed to have embedded
syntactical error correction. For example, learners can 3) Built-in Pedagogy (“How what is possible is made
only insert the “else” block after the “if” block is used. available?”)
Tuk Tuk introduces programming concepts as a game
where learners obtain additional features when they
progress to the next level.
727
Demonstration IDC 2017, June 27–30, 2017, Stanford, CA, USA
preferable than another for a particular map. DFS is § Adding incentive to play the game e.g., learners can
more suitable for level 6, and BFS is more suitable for use money to decorate the car, or share their score
level 7 (Figure 7). Level 8 is similar to level 4 and 5, online and see rankings.
but focuses on a compact version of DFS. At level 9 and § Introducing more advanced computational concepts
10, learners get to apply search algorithms to complex such as artificial intelligence search techniques in
maps (Figure 8). The learners will discover the games (e.g. chess, go, etc.) and allow learners to
advantage of search algorithms as the last two levels compete their created game agent, etc.
are too large to direct the car to explore all spaces
without the usage of search algorithms.
Acknowledgements
We would like to thank Paulo Blikstein, Assistant
Preliminary User Testing Professor at Stanford University, and our TAs for
A 1-hour session interview was conducted with six- and Beyond Bits and Atoms course, especially, Richard
eight-year-old girls (Figure 9). The interface interested Davis, Engin Bumbacher, and Chris Proctor.
the kids and the kids were eager to complete the task.
Figure 7: Explore the differences They loved the designs, and immediately understood
References
and advantages of each search how to use coding blocks to control the car. In addition,
1. Kafai, Y., Burke, Q., & Resnick, M. (2014).
algorithm. we learned that the game mechanism works very well,
Connected Code: Why Children Need to Learn
i.e., the kids enjoyed the game, wanted to play it
Programming. MIT Press.
again, and had fun trying to beat each other. Finally,
the learning goals were met. By completing level-2 2. Papert, S. (1980). Mindstorms: Children,
task, children understood the concept of iterations as computers and powerful ideas. Basic Books, NY.
they managed to put the coding blocks inside the 3. Resnick, Mitchel, John Maloney, Andres Monroy-
“repeat” block in order to make the car repeatedly Hernandez, Natalie Rusk, Evelyn Eastmond, and
perform sequence of actions. We hope that further user Karen Brennan. (2009). Scratch: Programming for
testing will confirm these initial findings and capture all. Communications of the ACM 52 (11): 60-67.
Figure 8: Complex Map.
new ways to improve our design.
4. Combefis, S., Beresnevicius G. & Dagiene, V.
(2016). Learning Programming through Games and
Conclusion and Future Work Contests: Overview, Characterization, and
Tuk Tuk is a block-based programming game that helps Discussion. Olympiads in Informatics Vol.10, 39-60.
children develop computational thinking by learning
computational concepts, especially search algorithms, 5. Hayes Raffle and Cristobal Garcia. (2003). Topobo
through self-directed interfaces. Tuk Tuk can be easily for Tangible Learning. MAS 712 Technological Tools
downloaded online and is ready to use. for Learning.
6. Miller, B. and Ranum, D. (2011). Problem Solving
Figure 9: Preliminary user There are improvements that can be made on Tuk Tuk with Algorithms and Data Structures using Python:
testing. such as: Second Edition.
728