Free online resources for learning programming, computer science

Robert Porter (@rgeraldporter) wrote a really great blog post recently: If you want to learn programming for the web.. where do you start?. Programming skills provide ample job opportunities; jobs that also tend to be well paid too. At the same time the cost of learning such skills has never been lower thanks to innovative online solutions that are grabbing attention lately such as Codeacademy and MIT’s free online courses and certificates program. Utilizing these free and accessible online resources to obtain these sought after skills may be a new way for some people to open up career opportunities and raise their income level.

So here is a list of resources for learning programming and computer science, from workplace level skills to elementary school level skills (for junior – because it’s never too early to foster and interest and start learning!). What else should be on this list? A lot of these resources are more academic in nature, are there any resources in the same vein as The Pragmatic Programmer to help somebody that has “learned a programming language” become a better “programmer/developer”?

 

College, University and Workplace Level Online Resources

Codeacademy
“Codecademy is the easiest way to learn how to code. It’s interactive, fun, and you can do it with your friends.”

Google Code University
“Courses and innovative resources to help CS students, faculty, and instructors.”

MIT OpenCourseWare
“MIT OpenCourseWare (OCW) is a web-based publication of virtually all MIT course content. OCW is open and available to the world and is a permanent MIT activity.”

School of Webcraft
Part of the Peer 2 Peer University, a “grassroots open education project that organizes learning outside of institutional walls and gives learners recognition for their achievement”. Courses on how to code are run online. Other schools exist for topics such as mathematics.

Stanford University – Free Online Courses
A variety of free CS and math courses will be made available online, scroll down to the bottom to see the featured courses.

The New Boston
Free educational videos.

Webcast.Brekeley
“Webcast.Berkeley is UC Berkeley’s central service for online video & audio for students and learners around the globe.”

 

Elementary to Secondary School Level Online Resources

Alice
“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.”

Computer Science Unplugged
“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.”

Hackety Hack
“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.”

McMaster Computing & Software Outreach
“Whether you are a student, teacher or parent we hope to provide you with the resources you need to learn and have fun with Computer Science and Software Engineering!”

Scratch
“Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web. As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively.”

Kevin Browne

Editor of Software Hamilton.