https://scratch.mit.edu/projects/1173474794
Building this
program using the site Scratch was a new eye-opening experience for me. This was
as new way for me to explore creativity through programming. Scratch uses its
colorful interface and blocked coding system to allow users to conjure a list
of simple interactive animations without the use of the complex programming
rules. I create a simple game at the end of space exploration where the object
has to jump over obstacles to avoid attack
My process
included dragging and piecing each block together to represent the different
programming constructs like loop, motions, and events. This method makes it
easy to understand the flow of the program and how each part contributes to the
overall fit form and function of the program before running.
Through this
experience, I have gained several insights about programming and how programs
can and can't run. My first realization was the importance of logic when
developing and structuring a program. Even though Scratch is a simplified
version for programming it still requires a concise understanding of how events
provide certain actions. Throughout the entire project there was a constant
cycle of me testing and refining the program, to me this was a key part of the
process, regardless of the language used.
Creating an
interactive Scratch project titled Moon Mission (Scratch, 2025) provided
a valuable and enjoyable introduction to programming. The goal of my project
was to guide a rocket ship from Earth to the Moon while integrating sprite
movement, costume changes, backdrop transitions, and user interaction. Using
approximately 30 blocks, I designed a sequence in which the rocket launches,
flies through space, lands on the Moon, and then avoids gliding robots by
jumping over them using the spacebar. Each element—gliding sprites, costume
changes, keyboard input, and collision-like logic—helped me build a cohesive,
animated experience. Although Scratch uses a visual, block-based coding system,
it helped me develop foundational programming skills like sequencing,
conditional logic, and event handling.
From this
exercise, I gained several insights into programming. Most importantly, I
learned that successful programming requires breaking down tasks into logical
steps. For example, the rocket’s movement and the robots’ gliding required
carefully timed sequences and control structures like loops and events. I also
learned how programming involves testing and debugging. The robots and
Rocketship had man different locations to travel through on each backdrop. This
required specific alignments between the x and y axis. Certain areas of the
sprites had to be hidden until a specific backdrop was displayed which was
pretty cool to set into place as the timing had to be perfect for smooth
transitions. The game aspect was basically a duplicate of a certain sprite, but
the alignment was the same which made is appear to be only one sprite available.
My work though for this was selecting the sprite on the backdrop moving it to a
different place the setting is axix of origin
When comparing my
Scratch experience to the programming language categories in Section 10.1 of
the textbook—compiled, interpreted, assembly, and query languages—I found
Scratch most closely aligned with interpreted languages. Like Python or
JavaScript, Scratch runs in real time and gives immediate feedback, making it
easier to experiment and iterate. In contrast, compiled languages such as C++
require a full build process before errors are revealed, which can be more
complex and less forgiving for beginners. Assembly languages are much more
technical and require detailed hardware-level understanding, while query
languages like SQL are designed for interacting with databases, which did not
apply to my project.
Of all the
language types, interpreted languages were the easiest for me to understand.
Scratch simplified many concepts, but it still mirrored the logic and structure
used in interpreted programming environments. The instant feedback and visual
nature of Scratch made it easy to see cause and effect, reinforcing the way
that code controls behavior. This clarity helped me grasp broader programming
concepts that will apply to languages like Python as I advance.
Assembly
languages are most
effective in situations requiring direct hardware control, such as embedded
systems or low-level device drivers. Query languages, like SQL, are
crucial in database-driven applications where retrieving, updating, or
analyzing structured data is required. Scratch, while not a formal language in
these categories, is uniquely effective in education, especially for
introducing new learners to fundamental programming logic in a visual way.
Each language
type has its own strengths and weaknesses depending on how they are used in
scenarios. Compiled languages can be best suited for performance-intensive tasks
like software developing game engines and system level apps. Interpreted
languages are more scripting driven and used for educational settings due to
their flexibility. Query languages like SQL are imperative in database driven
when retrieving, updating, and analyzing structured data is required. Scratch
helps new learners gain a fundamental understanding of programming logic in an eye-catching
way.
Overall, my Explore
project (Scratch, 2025) was both intriguing and educational. It served as an
accessible foundation for developing my programming logic as my knowledge as my
programming experience is limited and learning how different languages serve
different purposes when it comes to computing. I now feel more confident in
transitioning to text-based programming environments and continuing my
exploration of computer science.
Comments
Post a Comment