The following free resources allow beginners to learn basic computer programming all the way up to more advanced concepts. Many of them allow you to learn from right inside your web browser!
Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student’s first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games.
CS Unplugged is a collection of free learning activities that teach Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around.
Covers languages like Python, Ruby, C++ as well as advanced courses in Artificial Intelligence and Computer Graphics. Courses have beginning and end dates.
Google Code University
Courses on mobile and web programming.
Hackety Hack will teach you the absolute basics of programming from the ground up. No previous programming experience is needed! With Hackety Hack, you’ll learn the Ruby programming language. Ruby is used for all kinds of programs, including desktop applications and websites.
Learn the fundamentals of programming on the Khan Academy Computer Science platform. Explore programs made by others. Write your own programs and share them!
Free downloadable program for teaching kids Ruby.
Free online course materials from Universities and Colleges, including many computer science and software development related courses.
Programmr is the world’s online lab for students and enthusiasts to assess, improve and showcase their programming skills. With Programmr’s revolutionary online coding platform you can now code, compile & launch your projects in any technology right in the browser.
RoboMind is software specifically developed to support technology education. By programming a robot, students learn about logic, computer science and robotics.
Tile-based visual programming environment and toolkit, lets kids make games, animated stories, interactive art, and share with others on the Net.
Snap is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks. It also features first class lists, first class procedures, and continuations.
The Code Player
Thimble makes it ridiculously simple to create and share your own web pages. Write and edit HTML and CSS right in your browser, then instantly preview your work. Host and share your finished projects with a single click. Perfect for beginners and experts alike.
Students can learn basic programming using this browser-based program. Turtle Academy makes it surprisingly easy to start creating amazing shapes using the LOGO language.
Tynker is where children learn programming and design thinking in a fun and imaginative way. Tynker offers interactive courses for children to learn programming at their own pace at home, and a grade based curriculum for schools.