Starting from Scratch
Whether or not you know any computer languages, problem solving skills is the basis to computer programming. Scratch is a great way to enhance this problem solving skill and get you ready to program!
Aside from web development, recently I also took a course named "Code Yourself! An Introduction to Programming."
When I first signed up the course, I expected some introductory course in variables, and expressions, and perhaps some simple functions, which are pretty dry topics. It turns out, it was teaching how to program using Scratch. Even then, I was not too hopeful with the course, since I have tried to explore on my own before in Scratch and did not get very far.
However, I was very pleasantly surprised once I understood how Scratch functions worked and the purpose of Scratch.
Scratch has pre-built functions that aim to ease the process of creating games. It also has lots of animations to keep kids (and a beginner like me) interested. For more advanced learners, you are also able to create your own characters (or sprites) that you can control through programming - much like how you would control a character in a game.
Working through the course, I was able to create projects such as interactive birthday cards and computer games that involve keyboard and voice inputs. The most amazing thing is, I was able to do this without typing a single line of code.
It was very good practice to train myself thinking like a programmer and working out algorithms to create a game that achieved a certain goal.
I can also see Scratch being used at school, which now I am now familiar enough to help coach my daughter through projects she has.
I am also now taking Python courses to explore how programs can be written using actual computer languages. As I learn more about Python, look for more blog post on this learning journey!