Best Programming & Coding Curriculum & Classes For Homeschooling
Unless you know a programming language yourself, teaching programming is not normally easy for homeschool parents. Programming requires a unique mindset and lots of practice. Luckily, I would be willing to bet that the internet has more (free) resources for programming than anything else. This shouldn't be surprising! After all, the internet was built by tech-savvy individuals and is ducktaped together with code!
This article will help you get started, list free courses, free resources, curriculum, and some of our favorite books for learning to code.
Where do I even start?
Unless you are familiar with programming, you might not realize that there are many different programming languages. We say there are many programming "languages." But if I were to explain programming to someone who knew nothing about homeschooling I would describe them as "instruments." I believe that learning programming languages is more similar to learning a musical instrument than learning a spoken language.
If your homeschool student wants to learn to code, you need to settle upon a programming language. I would suggest Python or Java. These resources often have numerous courses on different languages, but we have not categorized them by languages.
This is a great video to watch first: (Warning, mild language)
Interactive online courses for learning to code
Code Academy - Free
Code Academy is free and offers hundreds of free courses. Learning to code usually requires a lot of self-discipline. So, a structured format is often desirable.
Although Code Academy is the most cited free resource, they have a tendency to teach only basic syntax. Therefore, we would advise that students work through additional tutorials/resources after finishing sections of Code Academy. Code Academy's strengths are in Python, Ruby, and web development.
Coursera - Free
Coursera offers free online courses in many different fields of programming. Coursera classes are created by 'real' universities that are usually very well known. There are many 'computer' classes that are much broader than just programming or coding. Watch out for some very advanced stuf!
Udacity - Free
This website is very similar to Coursera. They offer a number of computer science courses that include programming.
edX - Free
edX was created through a joint partnership between MIT, Harvard, and Berkeley. edX offers free online versions of the courses you will find at these universities.
Lynda.com - Can be free
Lynda has many free programming courses plus design, animation, video, and much more.
OpenCulture - Free
OpenCulture has Video lectures that you can download to iTunes or watch through Youtube. While many websites require some type of registration to complete interactive assignments, OpenCulture usually doesn't.
Curated list of programming resources
This list might seem overwhelming, but it is the most cited list of programming resources on the internet.
This is an enormous list of free programming eBooks, organized by programming language. This is not recommended for beginners.
The best books for learning to code
Head First Java, 2nd Edition
This is generally held to be the best book for starting Java (one of the best languages for beginners to use). What makes this book so great isn't just the fact that it is easy to read, full of examples, and meant for beginners -- it is the fact that hundreds of programming websites and Q&A sites cite this book in their examples.
Free programming eBooks
For programming eBooks, check out the resources on this page.
Thanks Brett from another homeschool dad! It's nice to see all of these resources in one place. For younger kids we've found Scratch (http://scratch.mit.edu/) to be really helpful and fun. It helps get kids into the logical thought process of programming. One of the best features is that you may view the code on every project on their website.
Code Combat (https://codecombat.com/) helped my son bridge the gap between the graphical interface of Scratch and text coding. They're first map is free and by the time he reached the paywall level, my son was ready for Code Academy.