Thursday, March 4, 2021

Learn Scratch: The Fundamentals of Programming Languages!

My Experience with Scratch:

               My experience building a program using Scratch is akin to other programming languages I have attempted to learn. At first, there is a steep learning curve where you must master the fundamentals of the language structure. Computer languages are analogous to spoken languages, where you must first learn the letters, sounds, and grammatical structure. In computer languages, you must learn the structure, syntax, and meaning of a statement. Without understanding these key concepts, you will be lost when building more complex and innovative scripts.

What Difficulties are there? How do you Overcome them?

               The first difficulty I had with Scratch is learning the user interface. It appeared simple, but I realized I did not understand what backdrops and sprites were when I took a closer look. Being used to the Python object-oriented language, it took some considerable time dragging and dropping and figuring out what each block of code did. Additionally, it took some time for me to figure out the X and Y coordinate positioning system. I played with the numbers quite a bit before I found what would work with the flappy bird game I created. Lastly, I encountered a problem in my code that I couldn’t easily figure out. In the preview pane, my bird disappeared. Unlike other interfaces like Jupyter Notebook and Komodo, which I use with Python, Scratch does not have suggestions or help when you encounter a problem. Eventually, I figured out that I had included a “hide” look when the backdrop switches and that I needed to include a “show” look at the beginning to bring the bird back. It was relatively simple to overcome the difficulties using Scratch by looking at their explore page, using search engines, and watching YouTube videos. However, the most learning occurred when I spent time looking at the code and understanding the language, and figuring out the problems myself. Overall, in a few hours, I created an interactive game using the simple block language, whereas I still cannot do that in my many weeks of learning Python.

Insights Learning Scratch:

               There are a few insights that I gained about programming from this exercise. The first is that block language has a unique structure. Like most languages, if you figure out the structure, you are well on your way to creating meaningful scripts. The second insight I gained is that block language is different than other languages. There is a unique structure on how to make your animations do what you want. In most cases, it came down to trial and error and learning from others to figure out how to accomplish what you want to do.

What is the Difference Between Other Programming Languages?

               In my current state, the experience between programming in Scratch and conducting the textbook’s learning activities were similar. However, I am biased because I have used Python in my job and have partially learned the language. If I were starting from ground zero, I would’ve had a much harder time doing the exercises in the textbook. The primary difference between these two, one that makes it so hard to learn a text-based language, is the use of syntax and text in Python versus blocks. I would argue that there is a steeper learning curve in the other languages like Python, R, C++, etc. Additionally, block-based language is oriented towards creating graphics and animations, while other languages are less so. This accounts for the difference in style and structure and why you can drag and drop code in Scratch and not do so in other languages. Ultimately, I would say that the block programming language was the easiest to use with an unbiased perspective.

               Each type of programming language has uses where it would be most effective. The block language is easier to create graphics and animations for use in simple games and short movies, commonly called visual programming. I imagine that the educators on LinkedIn and YouTube utilize Scratch or a similar program to create animations for their educational videos. Block-based coding is an easy tool to learn how to program without running into textual and syntax errors. Alternatively, text-based languages are great for data manipulation and creating programs. At my work, we created a Python-based script to allow us to collect user data more efficiently. You are limited only by your knowledge when using text-based programming languages.

               Ultimately, Python is the most popular programming language. It is arguably the most straightforward text-based language to learn and is where many people start their programming journey. Unlike other languages, Python has simplified syntax, which allows more emphasis on natural language. Further, Python has been around for over thirty years, which has allowed the community to produce more learning materials and support for newcomers. Python is the most versatile, efficient, reliable, and speedy programming language available, which is why it is so attractive to both old and new programmers worldwide.

Try Replicating this Scratch Example:

Flappy Bird Game

No comments:

Post a Comment