Teaching kids cybersecurity through games
Tags: octograd2020, githubsdp
Published: 2020-05-22 18:56:17

## The Idea

I started coding on Khan Academy, and so I was learning basic front-end skills with HTML, CSS, and JavaScript. I started out making basic websites and little animations, but once I learned how to make games I never stopped. One of my biggest projects there, recreating the original [Super Mario Bros](https://www.khanacademy.org/computer-programming/super-mario-bros/3074416748), is still the top 50-something in terms of votes on Khan Academy ever. Needless to say, it got me excited about creating games and creating projects.

As I entered high school, I began thinking more about the problems that surround us. I had been competing in cybersecurity competitions like CyberPatriot (now a 2-time National Champions woot woot!) and it really exposed me to how vulnerable we all were to cyber attacks. 

I started making Cyber Champion, a game where kids could learn to stay safe from online cybersecurity threats in a simulated environment. The gameplay was somewhat innovative, combining a platformer with the decision-making of a Choose-Your-Own-Adventure book. The kids playing control the story by making cybersecurity decisions in each room and getting a mini-lesson when they make a mistake. I'd been giving cybersecurity lessons at elementary schools, so I began integrating the game into the lessons. In our discussions we talk about online trolls, but in the game the trolls aren’t hypothetical--they feel real. Do they simply ignore the comments? Or troll back?

## Technical challenges, iteration, fun

I started my project on Khan Academy, but that's really just a place to work on drafts of projects. I wanted kids to be able to play the games and find my projects, so I decided to make my own website. I utilized Github Pages to host the site. I integrated all of my projects using <canvas> elements and had fun using CSS to get a website that felt nice. This also gave me more control over how the site would look on different computers. I found that kids usually played the game on Chromebooks, so I completely changed the aspect ratio of the game to be wider, so it fit those devices better. 

### Science???

One of the most valuable parts of having kids play the game was I could learn how to best tailor the user experience to them. This expanded into a full research project where I explored how video games could be used in cybersecurity education and gained insights like the need to focus on individualized learning and examples of how that could be done in games. I presented my research at the science fair where I connected with SDSU Associate Professor Dr. Dustin Thoman, who studies video games in general education, and traded notes on theories of learning and pedagogy.

From what I learned, I started adding more ways to let kids personalize the game. I added themes and different modes, and eventually I added a tutorial to guide kids through how to play the game and answer the easy questions I kept hearing. I noticed that sometimes kids tunnel-visioned on certain parts of the screen and didn't even notice certain parts. I added a system of achievements so they'd stay on path and play the game in a way that would be a bit more valuable to them.

The interesting thing about taking a scientific approach to learning what could make video games effective at teaching was I could apply it to all of my next projects. For example, when I made the [World of Engineers](https://games.pranavpatil.com/games/engineering.html), I created both boy and girl characters so kids learning about engineering could feel more like it was them playing the game (individualized!).

## Awards

Cyber Champion won the National STEM Video Game Challenge, the Congressional App Challenge, and is a Project Paradigm finalist. 

## Demo Link

You can play Cyber Champion and the rest of my games [here](http://games.pranavpatil.com/).

## Link to Code

{% github https://github.com/pranavpatil1/gaming-genius %}