Blog

> Learning Programming via Interactive Games!

September 12, 2020

Overview

Project Information
Great resources for learning programming interactively via playing games!

Reflection

Over time, I've realized the importance of making technical concepts "fun" to encourage students to continue learning and growing on their own time (whether it be in math, science, engineering, art, writing, history, media, etc.). Personally, I've found that the most motivating resources for me was learning through games.

For example, I got into robotics and engineering because my 8th grade science class had a module on Lego Mindstorms. The process of building and programming my very own robot was so fun, that had it not been for that class, I'm not sure if I would have gotten into software engineering!

Additionally, the first time I was introduced to the concept of programming was when I was in 5th grade, customizing shop templates in HTML in order to make my Neopets shop look nicer. I remember spending hours figuring how to format the HTML without ever understanding what all the weird symbols meant. However, the point is, I was figuring things out and trying to make things work. That's the beauty of learning through games. Oftentimes, you don't even realize that you're learning, because it's just FUN. Who knew that trying to make a random website look prettier would be more interesting than studying for an AP Test?

Overall, I see the above experiences reflected in the way I personally prefer to introduce new concepts to students when I first teach them how to code. I have always been an avid supporter of play-based learning through visually interactive, gamified, application-focused, tangible activities, and now I see why! I firmly believe that even as adults, we shouldn't have to stop learning and playing. As adults, we're all just giant kids at heart anyways :)

Here are some fun presentations regarding the theory behind play-based learning:

Here are some YouTube Makers I personally really look up to:

Below are some resources that I have found useful in learning programming through games!

(*Requires purchase)

Learn a New Coding Language

Flexbox Froggy (CSS Flexbox)
https://codepip.com/games/flexbox-froggy/

CSS Diner (CSS Selectors)
https://flukeout.github.io/

VIM Adventures (vim)
https://vim-adventures.com/

Regex Crossword (Regular Expressions)
https://regexcrossword.com/

Coding Bat (Java / Python)
https://codingbat.com

Learn How to “Think” Like a Programmer via Drag-And-Drop Coding

Scratch (Create Your Own Games)
https://scratch.mit.edu/

*Human Resource Machine (Algorithmic Thinking)
https://tomorrowcorporation.com/humanresourcemachine

*Lego Mindstorms ev3 (Build-and-Play Robotics)
https://www.lego.com/en-us/product/lego-mindstorms-ev3-31313

Learning Cybersecurity

picoCTF (Intro to Capture-the-Flag Competitions)
https://2019game.picoctf.com/game