Beginning to Program: Review of CS50 Scratch Course
Don’t be scared of programming! Try CS50 Scratch and tell all the young people you know, so they too can discover the joys of programming.
Are you new to programming or do you know a beginner programmer? Have you looked at pages of code and thought it’s just too hard to even try to learn programming?
There is an easy way: welcome to the world of Scratch!
Created in 2007 by the Lifelong Kindergarten Group at MIT, Scratch was designed as an easy, fun introduction to programming for children. But you don’t need to be a child to appreciate Scratch. In CS50’s Introduction to Programming with Scratch, I enjoyed personalizing the cartoon-like sprites and building simple images and animations, culminating in a “catch-the-beetles” game for my final project.
Why?
I have taken several short programming courses but without constant practice, I still feel very much a novice programmer. This Scratch course was a pleasant refresher of the computational thinking required for many programming languages.
History
CS50’s Introduction to Programming with Scratch is part of Harvard’s CS50 suite of free online computer science courses created by David Malan and his team. Nearly six million people have enrolled in the flagship CS50’s Introduction to Computer Science, which is also Harvard’s largest on-campus course. And more than 185 thousand learners have joined this Scratch course.
Skills
Instead of having to type lines of code and instructions, Scratch uses pre-made code blocks that you can drag and drop into position to build your project. It’s a great introduction to the logical thinking required for programming.
As Prince Samuel says in this article, “Logical reasoning helps programmers break down complex problems into smaller, more manageable components and devise practical solutions. It involves analyzing the requirements of a problem, understanding the relationships between different elements, and devising a plan to solve the problem logically and efficiently.”
As humans, we find it easy to skip over “obvious” leaps of logic, but computers require every step to be detailed. We need to learn how to tell the computer exact instructions: where to start, how to progress, and when to stop or change an instruction.
This Scratch course introduces beginners to logical thinking by showing us what happens if we forget to tell the program to stop at the end of a movement, or to wait (pause) before proceeding to the next step.
The Course
This course is deservedly in our Guide to the best Scratch courses.
There are nine lessons in the course, with a video to watch and a project for each lesson. Submit your projects via GitHub and gain 70% or more for each project to pass the course. All the instructions are clear, including how to set up your GitHub account. Course notes are also provided, but I found watching the videos and practicing as I went along were sufficient.
Links to various social media communities are also included.
Success
You don’t need any previous programming experience to succeed. The instructor, Brian Yu, enthusiastically leads you through the skills needed to complete the projects and encourages you to practice as you go along. I frequently paused the videos to try out the instructions and experiment for myself, rather than passively watching.
The instructions for each project are clearly explained, and if your submitted project includes the required elements, the auto-grader gives you a passing mark. You can submit the projects in any order, but I recommend working through the lecture videos in the provided order because each lesson builds on previous ones.
Certificate
When you complete the nine projects, you are eligible for a free CS50 Scratch certificate. If you want to pay for a verified certificate, it’s available via edX.
Time Commitment
The course recommends taking 3 weeks to work through the 9 modules, taking 2–6 hours per week. I found this to be ample time to go through 3 modules each week and pass the course. And if you’re enjoying creating simple animations and games, it would be easy to spend more time. There are plenty of Scratch features to explore.
Conclusion
Don’t be scared of programming! Try this course and introduce all the young people you know to it so they too can discover the joys of programming.