If you have a budding computer genius, you need to show them Codecademy. They can start with Web Basics and then move on to Java, Python, Ruby and many other programming languages. Each lesson starts with a reading, then students start writing code. As they progress, they can move on to projects. It’s a very user-friendly set up and a great way for your kids to learning programming on their own. Great for middle and high schoolers and completely free.