Top 7 Coding Platforms to teach High Schoolers!

This article will discuss the top seven from heaven coding platforms which theCoderSchool uses to help teach its high school kids to code. You may be asking yourself, why is it the top 7 and not the top 8 or the top 6 or 5.... It's probably the same reason that the top selling abs workout video is '8 minute abs' vs. 7 minute or 6 minute abs. It actually could be any number, but seven seemed like a good lucky number - The Lucky 7. In all honesty, in my role, I meet with the general managers and Code Coaches® regularly and am always hearing about all the great and new platforms being used to teach theCoderSchool students how to code. However, there always seem to be a few platforms that are more popular and where the Code Coaches® tend to gravitate towards. When I reviewed those commonly being used with our High School students, the list just narrowed itself to these seven.

Before getting into the list, let's discuss teaching a High School student vs. the younger students. In both cases, theCoderSchool's philosophy is always to find something that interests them and will make it engaging for them. In the case of doing this with a younger student, it goes something like this: "So you're interested in Disney's Elsa, well let's make the main character in your application Elsa then...and go from there". But in the case of a high school student, you have to find something they're interested in but then build something more content-oriented that's associated or helpful towards that interest. For example, it might go something like this: "So you're interested in majoring in Bio-engineering in college to learn about gene science. Hey did you know that you can model genetic algorithms using javascript?"

Both of the cases mentioned above are real scenarios that happened and both worked out really well where the students had a blast, were engaged, and learned a lot. How does all this relate to this article? It doesn't directly, but I wanted to give you some background on how the high school students minds work versus the younger kids so that you can get a sense as to where the platforms/tools being used to teach them are coming from. For high school kids to learn to code, the platform does not need to be super graphical. Although it can be, it doesn't HAVE to be because they're plenty old enough and able to focus. As long as the subject matter is of interest, they will be there with you each step of the way. But try and force a boring topic down their throats and they will leave you in a heartbeat. Remember, high school kids can generally already drive and are becoming adults now. They can and will make their own decisions.

Here's our top 7 list (drumroll please....!):

1. Coding Ground

Coding Ground is a really nice option to teach our high schoolers almost any language. Coding Ground is an online IDE for pretty much all the major languages (java, c++, python, etc.). It even has cobol so how's that for everything! It's nice because it's available online and is free. However, it is also limited for those same reasons and as your high schooler gets more advanced we do recommend for them to start using their own laptop and for example if learning java to install eclipse as they become more advanced.

2. JSFiddle (Javascript)

JSFiddle is one of the best choices when teaching high schoolers javascript along with webdev. This platform brilliantly blends the fundamentals of webdev (HTML, CSS, javascript) into one easy to navigate platform which is online and free. Your high schoolers will quickly make progress building their pages and can render with the click of a button.

3. PLAYCANVAS (Javascript)

Playcanvas is another great teaching platform option for teaching high schoolers to code. The language that they would be learning is javascript. It's available online but adds in the extra engagement factor of being able to create something in 3D. Who doesn't enjoy 3D whether it's in the movies or in coding. 3D just kicks it up a notch as far as being engaging and captivating so is another great teaching tool.

4. Pygame (Python)

Pygame is a set of python modules designed to help with creating video games. It includes computer graphics and sound libraries which are to be used with the Python language and really enhances a high schooler's experience when choosing to learn Python. For any student interested in game development this should be at the top of your list, especially if they are also wanting to learn some Python. It cannot run on just a browser though and does require installation onto a local machine. Or you can use it on a raspberry pi which has it installed. Speaking of pi, that's definitely another great platform and guess what? It's #5! How's that for a great transition? So let us dive into number 5....

5. Raspberry Pi

The raspberry pi is the hottest new credit card sized computer. Kids of all ages are attracted to the raspberry pi! For this article we'll focus on its aspects that are attractive to the high schoolers. It's a great intersection of hardware and software. It's a kit that allows you to pseudo build your own computer. It's pretty straightforward, but since it has you doing things like sticking the heatsink on, it feels low level and really gives the kids a sense of pride and ownership from building it. Once built, the options are endless with it's ability to connect and control so many peripherals. It fits in well with the IofT popularity and buzz! High schoolers are having so much fun utilizing the pi to do cool things they don't even realize they're learning coding too! It offers exercises ranging from linux commands to python coding.

6. Unity 

Unity is an amazing cross-platform game engine developed in 2005. Unity is notable for its ability to target games to multiple platforms and focuses on helping developers build 3D games. Any high schooler interested in game development will enjoy Unity. Unity can even at times be used to teach younger kids some basic coding concepts while having fun working on a 3D game. But in general Unity is meant for the more advanced which fits your high schoolers really well. 

7. XCODE (Swift)

Xcode is an integrated development environment for macOS containing a suite of software development tools developed by Apple for developing software for macOS, iOS, watchOS and tvOS. First released in 2003, the latest stable release is version 8 and is available via the Mac App Store free of charge for macOS Sierra users. Xcode is great for any high schoolers interested in creating iphone apps. It's exciting for your high schoolers due to its direct relation to Apple and mobile. 

Conclusion

When teaching a high school student how to code, pick your content and subject matter first and let that drive your platform choice. You'll also notice from our earlier blogs that there tends to be more platforms to choose from as your students get older because their interests and their abilities broaden quite a bit.  And as always, don't forget to add the secret ingredient, a Code Coach® that drives the passion and ignites the learning!  Happy Coding!