Scratch is a one of the best languages to learn how to program computers. The language is easy to learn while being surprisingly powerful, enabling students to learn very sophisticated programming techniques. Often I meet students who want to learn how to create web sites or applications. They want to immediately learn Python, C#, or other other “practical” programming languages. My recommendation is to first learn programming basics using Scratch and then learn other languages like Python. Scratch lets you focus on learning the most critical skills which will take longer to learn if you are starting with languages like Python.
This post was inspired by meeting the teachers and students at Achungo. A WhatsApp Group for teachers and students interested in Scratch@Achungo.
I will be adding more to this page in the near future.
Getting Scratch
Download page for Macintosh, Windows, new Chromebooks, and Android powered devices. On Macintoshes you can download scratch through the App Store, or as a direct download from the download page.
The current version of Scratch does not work on older Chromebooks (like HP Chromebook Pavilion 14 at Achungo). I am working to get this fixed. In the mean time, an older version of Scratch running inside Squeak does work on old Chromebooks. It takes awhile to load, it’s a bit slow, and some of the functions in Scratch version 3 are missing… but you can still write programs and create games in it!! Have fun.
I am looking into how to use Scratch on iPads. Newer iPads can run Scratch in the Browser. There is a ScratchJr app which can run on iPads but it is missing most of the features of full Scratch. There seems to be a full version Scratch in Chinese but it will be challenging to use by people who can’t read Chinese. I will update this section if/when I find an English version of Scratch for the iPad.
On the Macintosh App Store is a free + pay for additional features app called Scratch Tutorial Coding Game which seems nicely done that walks a student through the creation of games in a very easy to follow way. Warning: sometimes it is a bit buggy and you might have to restart the lesson.
Getting Started
I will shortly I will include a list of tutorials and classes which I think are particularly good. For now, I would recommend exploring scratch.mit.edu which has links to many resources.
Kenya has produced text books for grades 7-9 as well as training material for teachers.
Games
Games are fun to play, and can inspire creativity by providing ideas of things to build. There are many excellent games that have been created using Scratch:
- https://www.codewizardshq.com/scratch-games-for-kids – games that would be good to learn from
- https://www.codewizardshq.com/25-best-scratch-games – games which show advanced techniques and what is possible in scratch.
Going Further
How to go from writing simple games in Scratch to being a software engineer who could work for companies like Google and Apple?
It is said that it takes 10,000 hours of practice to master a discipline. That’s 4 hours / day for 7 years. An example of this can be seen in elite athletics who win in the olympics or play for professional teams. They constantly practice and train to become the best. Practice is also needed to become a great programmer.
You will not be able to create complex applications, super cool games, etc immediately. There are skills that you will need to develop through practice. Often this practice can be boring… but it’s necessary, and will be worth the time to spend.
There is a close relationship between thinking well, problem solving, and programming. Working hard at school, especially math and science will help you become a good programmer.
COMMON SOON: Next steps in mastering programming and becoming a software engineer.
Where did Scratch Come From?
In the 1960s there was some amazing work done by a team of people at MIT led by Seymour Papert. They used computers as a tool for students to explore and learn rather than merely an automated tool for rout memorization or for teaching computer science. The book Mindstorms described some of their work. The Logo programming language and “turtle graphics” were two of the technologies that were invented by this team. This work has inspired many other projects. In the 1970s a group of people at the legendary Xerox Palo Alto Research Center (PARC) created Smalltalk as an environment for children to learn and program. This simple language grew into one of the most advanced programming environment used by professional programmers. Years later a version of Smalltalk called Squeak became a beloved environment for kids and professionals alike. Several members of MIT Media Lab’s Lifelong Kindergarten wanted something a bit easier to learn than Squeak. They invented Scratch which was initially a program running inside Squeak. The current version 3 of Scratch no longer depends on Squeak. The paper Scratch: Programming for Everyone explains what the creators of Scratch hoped to accomplish.
See Also
- Environments for Teaching Kids to Program
- Hints for New Engineers
- Historical Computing