Programming Languages Paper: Scratch Reflection
Building the Scratch Program
Building my program in Scratch was
an exciting and creative experience. I created a jumping game where a fish is
the main character navigating obstacles represented by a crab in an underwater
environment. To enhance the visual appeal and interactivity, I incorporated
motion, sound, and control blocks while customizing the sprites and backdrop to
align with the underwater theme. This approach highlights how visual
programming environments like Scratch foster creativity by allowing users to
experiment with designs and behaviors in an engaging and supportive environment
(Mao et al., 2023).
Challenges Encountered and
Solutions
One of the initial challenges I
faced was synchronizing the crab’s movement with the fish’s jump to ensure
smooth gameplay. At first, the timing caused frequent collisions even when the
fish should have cleared the crab. I resolved this by adjusting the repeat loop
for the crab’s motion and fine-tuning the fish’s jump height and duration.
Another difficulty was ensuring the score reset properly when the game
restarted. By using a “set score to 0” block at the start of the script, I was
able to address this effectively. This iterative problem-solving process aligns
with the creative behavior of flexibility identified in programming education
research, where users adapt approaches to overcome challenges (Mao et al.,
2023).
Insights About Programming
This project helped me appreciate
the logical flow and modular nature of programming. Scratch’s block-based
interface made it easier to visualize loops, conditionals, and variables
working together to create functionality. The hands-on approach aligns with
findings that engaging classroom environments in visual programming contexts
can stimulate creativity and enhance problem-solving skills (Mao et al., 2023;
Zybooks, Section 2.10).
Comparison with Other Programming
Languages
While Scratch is a visual
programming language, my experience with machine, assembly, and high-level
languages, as outlined in Sections 2.8–2.11, provided a deeper perspective.
Machine language operates with binary instructions directly executed by the CPU,
making it hardware-specific and challenging for general use. Assembly language,
though slightly abstracted, still requires precise syntax and knowledge of
hardware architecture. In contrast, high-level languages like Python simplify
programming with user-friendly syntax, allowing for greater flexibility and
faster development (Zybooks, Section 2.11). Additionally, Python’s readability
and extensive libraries make it a gateway to specialized fields such as
artificial intelligence and machine learning, reflecting its growing role in
modern education and industries (Ahmad et al., 2024).
Differences and Ease of Use
Scratch was the easiest to use
because it eliminates syntax errors and focuses on logical design. However,
Python is far more versatile and applicable to real-world programming tasks.
Machine and assembly languages, while powerful for low-level tasks, are less
practical for most modern applications (Zybooks, Section 2.9).
Best Use Cases
• Machine
language: Ideal for tasks requiring direct hardware interaction, such as
firmware development.
• Assembly
language: Suitable for optimizing performance-critical systems or embedded
devices.
• Python:
Excellent for web development, data analysis, automation, and general-purpose
programming, with emerging trends in Python education such as collaborative
coding and AI-powered learning emphasizing its adaptability (Ahmad et al.,
2024).
• Scratch:
Best for teaching programming basics and creating interactive educational tools
or games.
Most Popular Language
Python stands out as the most
popular language due to its simplicity, versatility, and extensive library
support. Its widespread adoption across industries such as data science, web
development, and artificial intelligence ensures its continued dominance
(Zybooks, Section 2.10; Ahmad et al., 2024).
Scratch Project URL
I
couldn’t share the URL from Scratch. I attached the project with my final
paper.
References
Ahmad, A., Ray, S., & Nawaz, A.
(2024). Current and emerging trends in Python programming learning. 2024 9th
International STEM Education Conference (ISTEM-Ed), 1–6. https://doi.org/10.1109/iSTEM-Ed62750.2024.10663187
Mao, Y., Tang, J., Wang, W., &
Cheng, L. (2023). The impact of online creative classroom environment on
students’ creativity: A case study based on online Scratch visual programming.
2023 11th International Conference on Information and Education Technology
(ICIET), 349–353. https://doi.org/10.1109/ICIET56899.2023.10111185
Zybooks. (2024). TEC101:
Fundamentals of Information Technology & Literacy. Sections 2.8–2.11.
No comments:
Post a Comment