KinderGarten - Lower Elementary

  • Bee-bots: Offered by TerrapinLogo.com, the simple robots are used to teach how to create a set of commands, and implement an algorithm written down. Different accessories can be used on the mat to reinforce other concepts taught in class (numbers, alphabet, opposites, colors etc...)

  • Cubetto: Small robots to lean how to code.

  • Scratch Jr: This tablet application (for Apple, Android, Amazon tablets) is a great introduction to block programming language

  • Dash & Dots: Dash and Dots are robots that can be programmed using Blocky programming language. The application, compatible with Apple, Android and Kindle tablets offer other programming puzzles.

  • Kodable: is a programming curriculum for grades K to 5. Applications on the tablet allow students to learn coding using simple instructions. The first levels are free.

  • Hello Ruby: provides great activities for critical thinking. Hello Ruby provides a book and unplugged exercises (on their website and the book).

  • Code.org: Course 1 provides a great introduction to programming. It contains unplugged activities and coding puzzles. It is a free tool and teachers have access to a great interface to monitor their students' progress

  • Computer Coding for Kids: Online games and programs that help to learn more advanced parts of computer coding

  • BootUp: BootUp’s curriculum is designed for both novice and experienced elementary teachers and encourages creativity through project-based coding lesson plans.

Upper Elementary

  • Scratch: Available for free as a downloaded application or online, Scratch is a block programming platform that allow students to create programs quickly. (games, animations, music etc...)

  • ScratchMath: is a two-year computing and mathematics-based curriculum for Key Stage 2 pupils (Years 5 and 6). Its aim is to enable pupils to engage with and explore important mathematical ideas through learning to program. It is using the free online programming environment Scratch.

  • Makey Makey is a hardware extension that plugs easily to your computer to make fun inputs to your Scratch program. Students can create their own joystick, keyboard etc...

  • Alice, provided by Oracle, is a free program that can be installed on PC to teach computer programming in a 3D world.

  • Code.org: Course 2 is available for Upper Elementary. Course 3 is also a good progression if students have completed the previous level.

  • Tynker: this is another programming platform but is not free.

  • Pro-bot: TerrapinLogo.com sell Logo 4.1 platform for students to learn Logo programming. The programs created can be downloaded to the probot cars. The robots can also be programmed directly using keys on the back of the car.

  • Logo Programming

  • CS First: Google created this repository of self-taught curriculum to lean how to program using Scratch. This is a free website and provides a great introduction to Scratch.

  • Khan Academy: The hour of Code on Khan Academy provides a good introduction to coding for Elementary students.

  • Kano: built on top of Raspberry Pi, Kano is a simple to assemble computer for young students. All you need is a display taking an HDMI input and you are set to go. Kano comes loaded with engaging block programming platforms.

  • QuickStart Computing: This website is a professional development resource to help teachers deliver the new computing curriculum with confidence.

  • Bitsbox: Bitsbox works best for children 6 to 12 years old. Once subscribed, every month, the child/parent receives either a PDF to download with new projects or a box with challenges. The programs are created on Bitsbox platform.

  • Turtle Academy: Free online tool to create amazing shapes using the LOGO language.

Middle School

  • Snap! is a block programming platform (Scratch's big brother) formerly called BYOB. Snap! runs in your browser. It can be connected to a lot of devices (Finch Robot, Arduino etc...)

  • Cellular is an application based on BYOB for multi-agent simulation, and more.

  • Khan Academy has a Computer Programming section and Computer Science section.

  • NCLAB: offers online programming platform for 3D programming and modeling. The use of the platform is free, while the lesson plans can be purchased.

  • Bootstrap: Bootstrap integrates math and computing education to enable equitable access to and success in both subjects for all students in grades 6-12. The platform, curriculua are free of charge. Bootstrap is aligned to Match common core standards. Bootstrap 1.0 uses Racket code via the WeScheme platform while Bootstrap 2.0 uses Pyret, a new programming language that help students bridge from Racket code towards Python programming.

  • Sonic Pi: introduces students to computer programming via music. The application downloadable on Raspberry Pi, Windows, Mac or Linux let students create their own music using coding.

  • Teaching Kids Programming (TPK). Written by a group of volunteer programmers and teachers, TKP Java courseware is designed for school teachers to use to teach kids ages 10-17 core computational thinking. The courseware is free.

  • Kodu: Kodu is a visual programming language made specifically for creating games. The application is supported on Windows operating systems.

  • Arduino: Arduino is an open-source prototyping platform based on easy-to-use hardware and software. It helps students engage in electrical and computer science engineering projects.

  • Project GUTS: Project GUTS is a science, technology, engineering and math (STEM) program for middle school students

  • Ithare: Ithare gives you an in-depth view into different programming languages.

  • QuickStart Computing - Secondary: toolkit from Computing at School, to help teachers deliver effective computing lessons.

  • CodeCademy: provides free curriculum and platform to help teachers instruct programming. It covers a series of languages (HTML, JavaScript, Python...). Teachers can also monitor the progress of their students on the platform.

High School

  • Hack HighSchool for Teachers: Our curriculum for Hack Highschool is available on Github.

  • ECS: Exploring Computer Science is a yearlong course consisting of 6 units, approximately 6 weeks each. The course was developed around a framework of both computer science content and computational practice. Version 7 of the curriculum is available online for free.

  • AP Computer Science Principles: Launching in Fall 2016, AP CS Principles is a new AP(r) course launched by the College Board and introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. With a unique focus on creative problem solving and real-world applications, AP Computer Science Principles prepares students for college and career.

  • Devry's CS Bootcamp: Looking to gain exposure in the field of coding and web development? Various languages, with a focus on Front End & Back End Engineering

  • Hacking with Python – 6 best online courses for ethical hackers - by AIMEE O'DRISCOLL

The College Board just approved the following courses for AP Principles:

  • Code.org's AP CS Principles Curriculum: this curriculum is organized in 6 units. One of them teach how to make Apps using JavaScript.

  • The Beauty and Joy of Computing: BJC has been created by the UC Berkeley University. It teaches advanced, rigorous programming, mobile apps, internet API's. The programming languages used are Snap! and Python

  • UTeach CS Principles: Developed by the UTeach Institute at The University of Texas at Austin, UTeach CS Principles is a new Computer Science Principles curriculum that focuses on the core ideas that shape the landscape of computer science and its impact on our society.

  • Mobile CSP: This course focuses on building socially useful mobile apps using App Inventor. It is project-based focus and has been taught in more than 230 schools

  • PLTW CSP: Project Lead The Way CSP exposes students to a wide range of professional tools and programming languages: Scratch, App Inventor, Python, PHP, SQL, HTML, CSS, JavaScript, Linux & NetLogo

Other resources

Coding for Kids — How to Get Started: this blog collates loads of great links that can help teach children coding skills. It features some of the more widely known organizations but also some of the lesser known initiatives.

5 books to teach curious kids about coding

Javascript Cheat-Sheet : There are good reasons to compile a JavaScript cheat sheet. The programming language is becoming increasingly more important. Many big Internet companies like Facebook use it as a part of their technology stack.