The Raspberry Pi is a tiny credit-card sized computer which was originally developed by the Raspberry Pi Foundation to give schools a cheap option to teach programming in schools. The device then captured the imagination of the tech community and is now used in a variety of products -- but individuals can use the device at home to explore computing and programming in languages such as Python just by hooking it up to your TV or a monitor. The basic kit costs 35.00.
See also: 25 fun things to do with a Raspberry Pi
The Arduino Coding Kit, developed by littleBits electronics, is an $89 kit which covers the electronics needed to learn how to program. The product is based on the Arduino module, which gives users access to a vast library of programming modules and projects ranging from creating an etch-a-sketch to a robotic hand. Whether for adults or kids, the kit and its microcontrollers and modules are a fun way to get hands-on with learning programming.
Udacity, used by over a million students worldwide, offers an Android and iOS app for those wishing to sharpen their skills in programming languages. The courses on offer via the app range from the basics of programming to advanced classes -- whether HTML, CSS, Python or Java interest you -- as well as more varied topics including robotics, cryptography, algebra and software debugging.
Codeacademy is another reliable resource for learning how to program from the ground up. Used by over 24 million learners worldwide to learn languages from HTML to Python and PHP, what I enjoy about this service is the interactive level of learning on offer.
Coursera is a well-known massive open online course (MOOC) program. Accounting for universities and educational institutes around the globe, Coursera offers both free and accredited courses from these partners in subjects ranging from programming basics to app development or languages. Once signed up, you complete reading and assignments online, with courses lasting a set number of weeks. Partners offering courses include Rice University, Stanford University and the University of Melbourne.
Finally, MIT's Open courseware program deserves a mention. The educational institute offers a range of free courses -- although donations are encouraged -- for students in a variety of topics, of which the Electrical Engineering and Computer Science department is likely to be of particular interest to those interested in programming. Sign up and you can study undergraduate and graduate modules ranging from mathematics for computer science to bioengineering and computer language processing.