Online practice and tutorials

More informal ways of learning to program online include Codingbat ( http://codingbat.com ) and Codecademy ( http://codecademy.com ). Codingbat is a series of programming challenges that help build strengths in specific areas, such as string handling and logic. Teachers can track student progress, and tools include a useful graph that logs incorrect and partially correct attempts at a solution (this makes it hard to cheat!). It has exercises for Java and Python. Codecademy is a great place for anyone to start programming from scratch. It’s user friendly and it tracks your progress. It teaches Javascript but a Python “module” has recently been added. Less formal online challenges can be a big motivator. These exist for both specific languages, such as the addictive Python Challenge ( http://www.pythonchallenge.com ), and for specific problem-solving, such as the maths-based Project Euler ( http://projecteuler.net ). A full list can be found on the Raspberry Pi forums at http://goo.gl/n7ej4 . Online practice and exercises are useful but the best motivation to learn to program is to actually make something. This means starting a project with a specific purpose. Another way to improve is to work on projects with other people. See if there is a local Raspberry Pi or Linux user group near you. If you are at school or college join the computer club (or set one up). Look at other programmers’ code and try to understand it. Change it for your own purpose or try and improve it. If it’s broken, try and work out why. Don’t forget that programming at this level should be fun – extending yourself is one thing but don’t get so frustrated that you give up. Talk to people on forums and have a look at how they have solved the problem, there’s always more than one way to tackle it.

Beyond online learning

The end

We hope that you’ve found this manual useful and that learning to program has been as mind-expanding as it was for the authors when they wrote their first lines of code. Computers are amazing things and being able to control them is an amazing ability.

Keep on programming, hacking, playing, experimenting and creating. And above all, have fun!

What next?


Made with FlippingBook flipbook maker