Computer Science

Updated on November 18, 2018

These free websites and apps introduce kids to computer science and coding (computer programming). High school students can also learn systems analysis and design, computer and Internet history, and IT terminology.  The resources include tutorials, video classes, activities, games and programming languages designed for both younger and older students.

Also check out our list of Free Top 10 Coding for Kids Tutorials.

Snap! Block-based Coding

The Snap! block-based programming language will be familiar to students who have previously worked in Scratch.  Snap! builds on Scratch with several advanced features.   Students learn basic programming concepts by building animations, games, stories, simulations, and more. Some of the…

Grasshopper Coding App for Javascript

The Grasshopper coding app is a great way to introduce kids – and adults – to basic coding concepts and how to code in Javascript.  You can download a version for your iPhone/iPad or for your Android device. You learn…

Coding: Khan Academy Computer Science

Learn the coding languages of the web – HTML, CSS, Javascript and SQL databases – with Khan Academy’s self-paced lessons. The tutorials begin with introductions to each of these four languages, then combine them in advanced lessons. In the process,…

Swift Playgrounds App

If you want to code your own iPad and iPhone apps, this programming app designed for middle and high school students, is a great starting point. You don’t need any programming know-how to start coding. The Swift Playgrounds app teaches…

Understanding Programming – Test This!

Play this game to test computer software and learn basic principles of programming design.  In conjunction with Armor Games, CK-12 uses the Lightbot 2.0 game to program a robot’s movements, maneuver around obstacles and meet goals.  As they progress through…

Programming: Codecademy

The folks at CodeAcademy teach you computer programming, a.k.a coding, in an easy-to-understand way so you can build you own websites, games and apps.  You can learn Java script for building games, HTML and CSS for website development, style and…

BlueJ

BlueJ is downloadable software that  provides an easy-to-use teaching environment for the Java language to help teach beginning Java programmers.  It uses visualization and interaction techniques to create a highly interactive environment that encourages experimentation and exploration. BlueJ is based…

Kodu Game Lab

Kodu Game Lab is a 3D world where kids use visual coding blocks to create games while they learn coding concepts. This downloadable visual programming language tool is  designed for use on a PC or xBox. You can download the…

CS Unplugged

CS Unplugged is a collection of pre-coding games and puzzles that familiarize kids with coding concepts. Activities with paper, string and crayon introduce students to underlying concepts such as binary numbers, algorithms and data compression. CS Unplugged is suitable for…

Python Programming Language

Python is a popular, open source coding language and there are several ways for kids to learn it, from beginner to advanced. For beginners, try one of these tutorials: There are two free tutorials on Trinket.io. Kids use block-based and…

NSF and the Birth of the Internet

Learn about the history of the Internet with this interactive timeline and video. The National Science Foundation starts the timeline with ARPNET in the 1960s. It progress through the first emails in the 1970s, and the beginning of NSFNET in…

Scratch Block-Based Coding

From site:  Scratch is a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web. Scratch is designed to help young people (ages 8…

Learn Perl Programming Language

Perl’s website has tons of resources to help you learn how to install, code, and use Perl and its modules to create websites, network programming, and graphic user interface development, to name few. Learning to code in Perl is an…

Alice – Code 3D Games in Java

Alice is a 3D programming environment specifically designed for middle and high school students. It introduces them to virtual worlds kids can create in block-based Java with animation, game, or videos. Then they can share on the web. Alice is…