Pages

Tuesday, June 24, 2025

Building a Program From "Scratch"

 Scratch Project


My Experience Building a Program Using Scratch

When I first began working with Scratch, I found it difficult to navigate. Having never used a visual programming language like Scratch before, I was unsure where to start or what I was expected to do. The interface has colorful blocks and drag-and-drop layout which at first glance, seemed as though it might be easy. I quickly realized that while Scratch is supposed to be beginner-friendly, it still takes time and practice to understand how the blocks fit together to make a functioning program.

To get past these initial hurdles, I turned to online tutorials and relied on a lot of trial and error. Watching others demonstrate how to build small games and animations helped me understand the logic behind Scratch’s system. Over time, I became a little more comfortable using its conditions. My first completed project was a simple spaceship game where the player controls a rocket that has to avoid falling asteroids. While I am far from an expert, the process gave me a sense of how programming logic works and how even simple programs are built step-by-step.

Insights Gained About Programming

This exercise gave me a better understanding of how programming is fundamentally about solving problems and creating systems of logic, regardless of the language or platform. Even though Scratch doesn't require typing code, it seems similar to traditional programming languages. I also realized how important testing is in development. Small changes can break a program or dramatically improve how it runs. Learning to fix those issues, especially through trial and error, was one of the most valuable parts of the experience. I by no means created a perfect product, but I think I did it justice for my bare bones beginner skill level.

Comparing Scratch to Other Languages from Section 10.1

In Section 10.1 of the textbook, I explored different types of programming languages: Compiled, Interpreted, Assembly, and Query languages. Compared to these, Scratch is a visual programming language designed for educational use. It’s quite different from the others in terms of how programs are created and run. For example, compiled languages like C++ require writing code and then compiling it into an executable, while interpreted languages like Python run directly line-by-line. Assembly language operates at a low level, working closely with hardware, and query languages like SQL are used for managing and retrieving data from databases.

Compared to these, I found Scratch easier to use after getting past the initial learning curve. It doesn’t require memorizing syntax or writing out code, which made it less intimidating. However, Scratch also has limitations in complexity and flexibility compared to other languages.

When to Use Each Type of Programming Language

Each type of programming language has its strengths depending on the scenario. Scratch is great for educational purposes and introducing beginners like myself, to programming concepts. Compiled languages are best for applications like games or software that require fast execution. It uses “a special tool called a compiler to change the code into machine language. You can't run, or execute, the code written in these languages right away. The compiler changes the code and saves it as a file called a binary executable (.exe file). This method has several advantages. Because the executable file is in machine language, it can go straight to the processor without any extra steps, making it run quickly” (TestOut Corporation, 2020). Interpreted languages are ideal for scripting and web development because of their flexibility and ability to work on multiple platforms. Assembly language is “the simplest human-readable computer language” (TestOut Corporation, 2020). It runs the fastest due to its efficiency. Query languages are essential when working with databases, such as in applications that need to retrieve or manage specific data.

Conclusion

Overall, learning Scratch taught me the basics of programming logic in a fun and interactive way. It gave me a foundation to build on and comparing it to more traditional languages helped me appreciate the strengths and purposes of each one. Though I struggled at first, I came away with a better understanding of how different types of code are used to solve different types of problems.

No comments:

Post a Comment

Computer Operations and Network Architecture

When I started this course, I wasn’t sure what to expect. After 13 years as an Air Force medic and now working in more of an administrative ...