[Editors Note:] Natalie is a regular intern at Geisel Software who has a passion for helping others learn -- especially kids! We're thrilled to have her manage our internship program and to introduce her as a contributor to our company blog!
Despite the fact that the technology industry is one of the fastest growing industries in the US, many schools cannot afford computer science programs. According to Newswire, only about 25% of high schools in the US offer computer science classes. With our schools not yet able to provide this education, we must look for alternative ways to expose students to computer science. Luckily for us, there are a variety of alternative methods to expose kids to computer science.
Why is CS education important?
Computer science education is so much more than knowing how to code. It teaches how to approach a program logically, how to break down large, overwhelming projects into smaller, easily-digestible projects, and how to work together. All of these skills are important, no matter what career the students end up going into.
Also, the earlier a student starts learning and becoming familiar with using a computer, the easier it is for them to navigate our new digital world. More and more industries rely on computers, making a base familiarity with computers critical for any industry.
Getting a first introduction into computer science terms and concepts
So what are the best ways to introduce kids to basic computer science concepts? One great free resource doesn’t even require a computer at all! It’s CS Unplugged, a free computer science curriculum that uses logic puzzles and interactive games to teach kids basic problem solving and algorithmic thinking. Their curriculum is for all ages, levels of experience, and topics within computer science.
Another great (and free) tool is Code.org. Code.org provides a variety of fun online games that teach basic problem solving and introduces kids to basic computer science concepts like functions and conditionals. This is a great tool to get kids who have never before been exposed to computer science to enjoy programming...
Interactive coding environments to use coding concepts
There are plenty of other kid-friendly coding environments that are meant to get kids to learn computer science concepts (and have fun while they do it). Probably the most popular and well-known platform is MIT’s Scratch platform. It allows kids to create games and animations using a block-based interface. It’s great for all ages because its interface is simple, but powerful enough to cover more advanced coding concepts.
Microsoft’s Kodu platform is also great for younger kids just getting introduced to coding. It provides an amazing 3D environment for kids to create games and animations, while giving them a simple, block-based flowchart to code on.
Some other similar coding environments are Alice, AppInventor, Pencil Code, and TouchDevelop. These are more geared towards middle schoolers and have slightly more complex interfaces and features. Alice provides a 3D environment that can be used for games and animations, while AppInventor and TouchDevelop create apps for your phone. Pencil Code uses coding to draw designs and patterns.
Hackathons and classes (both online and in-person)
Though many schools don’t have a computer science curriculum, they may still have computer science after school clubs. Programs like Technovation, FIRST Lego League/FIRST Tech Challenge/FIRST Robotics Competition, Programming clubs, and more offer a great environment to continue learning computer science. If your school doesn’t offer one, check in see if there is one in a neighboring town’s school (you’ll often be able to join if you just ask).
Because of the lack of widespread computer science courses, many companies, non-profits, and volunteers have worked together to try to spread computer science education. Microsoft, Google, and Apple have especially been known to promote computer science education. Depending on the location, Microsoft and Apple have in the past run classes in their stores over the summer or after school. Coder Dojo is a pretty notable non-profit group that hosts clubs globally. Local student groups have also been popping up to teach kids how to code (ask local librarians/highschools!).
Hackathons are a great place to get a quick introduction into coding. They can last anywhere from an hour to a weekend and are usually centered around one specific coding concept/platform. They are especially popular during Computer Science Education Week (annually on the week of December 9th). A lot of high schools, libraries, and museums will host these hackathons for the general public. Colleges will also offer quick hackathon-like classes that are taught by college students for middle and high schoolers.
To do a quick sum up presented by Barack Obama, “Don’t just play on your phone, program it.”
By, Natalie Reed
Other articles in this section
A good user interface is an essential part of great software development. A user interface is the “front-end” that allows the user to easily interact with your software.
IoT can be an amazing enabler for your product, but it’s important to make sure you get the architecture right.
Developments within the Internet of Things (IoT) space are happening at tremendous speed, but the pace of this change creates challenges from a security standpoint.