Programming Languages
Programming Languages Paper: Exploring Scratch and Computational Thinking
Charla Miller
University of Arizona Global Campus
TEC101: Fundamentals of Information Technology & Literacy
Programming Languages Paper: Exploring Scratch and Computational Thinking
Introduction
In this assignment, I had the opportunity to research and explore the logic of
computational thinking through a drag-and-drop block programming language called Scratch.
This application gets you engaged through the platform and allows users to make interactive
stories, games and animations, by piecing together “code blocks”, such as Motion or control blocks visually, this can really help
beginners of any age. I created a short program, of 30 code blocks in Scratch, and it resulted in a
colorful animation that featured a cat in motion around Spaceship and Space City. This
paper will discuss my experience learning the programming language, as well as a comparison to
the languages introduced in our text this week.
Describe your experience building a program using Scratch.
Building my program was enlightening and frustrating rather than enjoyable. I spent
many hours watching tutorials to understand what kind of programming language was being
used, and how to use drag-and-drop block programming language. The interface was userfriendly
and allowed me to experiment with different blocks seamlessly, organizing them
according to motion, looks, sound, and control options. That was helpful. I utilized a little over
30 blocks to create a smooth and cohesive program that allowed my character to glide, fly,
speak, think, play sound effects, record and edit sounds, etc.
The visual representation of the code allows you to see how each block interacted with
the others. For example, I used blocks to make the character respond to user clicks, by
employing code block” when this sprite is clicked”, and paired it with a motion or sound. I began
learning how debugging is an important part of programming; by watching how the character
behaved in response to my code and made it where I was able to quickly identify errors and
improve the overall experience and get the result I wanted.
Insights I Gained While Programming in Scratch
This exercise provided valuable knowledge into the nature of programming and the
principles that are fundamental to computational thinking. One key takeaway was decomposition
or abstraction, I learned to break down tasks into smaller sections into manageable parts. It made
it so that each block represented a specific function or task within the overall program. It taught
me that programming requires logical thinking, it involves sequences of commands that can lead
to desired outcomes. It was almost like reading and recreating recipes by changing the things you
like a little more.
Constructing and editing code in the program I was creating taught me the importance of
experimenting and adapting code. If I compare this programming language, drag-and-drop block
programming to the programming concepts in the textbook, I feel that Scratch resembles
interpreted languages in that it runs immediately and allows for changes to the code.
Comparing Programming Languages
In our textbook, compiled, interpreted, assembly, and query languages, all were
discussed, as each of them have unique features and applications. Scratch reminded me of
interpreted languages, as the immediate feedback allowed me to see the results of my code in
real-time. Compiled languages differ from Scratch, because the code needs to be compiled first,
then executed, which can ultimately slow down debugging processes. Among the different
languages I found Scratch easy to use due to it immediate interactive interface, and doesn’t
require any previous experience in coding. The block-based approach clearly makes it seamless
and clearly highlights how different commands interact and promotes a strong understanding of
the fundamentals of programming.
Scenarios
1. Query Languages like SQL (Structured Query Languages) are ideal for managing and
retrieving data from databases, making them indispensable in data analysis and back-end
web development. They help you find specific data, show only what you are looking for,
or present information in helpful ways.
2. Compiled Languages, like C++ and Java, use a special tool called a compiler to change
the code into machine language. It is ideal for applications that need high-performance
like game development or software requiring complex computational tasks, where
execution speed is vital. (TestOut Corp., 2024)
3. Compiled and Interpreting Language (runtime code) A special type of compiled
languages is called runtime code or runtime engines, which mix the ideas of compiling
and interpreting to get the best of both worlds. Examples are C# (pronounced C-Sharp)
and Java. (TestOut Corp., 2024)
4. Interpreted Languages, such as Python, JavaScript, Ruby, Perl. These are best for web
development and rapid prototyping, and giving flexibility and easier testing because of
the immediate execution feedback.
5. Assembly Languages is most effective in system programming and situations where
hardware control is vital, such as embedded systems or performance-critical applications.
“It is a low-level language that interacts directly with the computer’s hardware”. (TestOut
Corp., 2024)
6. Drag-and-drop Languages, like Scratch, are excellent for educational purposes, teaching
programming concepts to beginners, or creating simple interactive applications,
providing a low barrier to entry for those that are new to coding like myself.
Syntax: HTML uses tags like <html>, <head>, and <body>.
Purpose: Structures content for web pages.
A programming language’s syntax defines a set of rules that a programmer must follow when
writing code. These rules dictate how the code must be structured, what characters can be
used, how statements must be terminated, and much more. In essence, syntax is the grammar
of a programming language. (Caldwell, 2023)
Conclusion
My experience from Scratch has opened my eyes to the basics of programming and the
importance of computational thinking and problem-solving.I have reflected on my experience in
using Scratch, and touched on some insights that I gained from the block programming
assignment. Building a program in Scratch not only strengthened my understanding of the basic
concepts of programming, but it showed me the potential for various programming languages to
address different challenges, I also compared it with programming concepts and scenarios for
different programming languages from our textbook. As technology continues to evolve, I look
forward to exploring more complex programming languages in coding and to further enhance my
proficiency in coding and programming languages.
1st Try in Scratch drag & drop block programming
Link: https://scratch.mit.edu/projects/1177731293 (I used 30+ blocks in this one)
Embed</>
<iframe src="https://scratch.mit.edu/projects/1177731293/embed" allowtransparency="true"
width="485" height="402" frameborder="0" scrolling="no" allowfullscreen></iframe>
Comments
Post a Comment