I recently had to use Scratch for a school project, and what follows is my reflections on using it and some thoughts on programming languages in general. My final scratch project can also be found at this link.
I enjoyed building a program using Scratch. At first, all the options seemed overwhelming, and I felt lost. However, I watched a few tutorials and experimented with the different blocks to see what they did. As I looked through all the backdrop options, I saw a couple of baseball ones. From there, I was determined to make my character run around the bases and hit a ball. I could have chosen a different animal or person but ultimately kept the default cat. I thought a cat meowing and playing baseball would be cute and funny. I did struggle some at first, but my previous experience with programming helped me immensely here. I knew most of the logic I wanted to apply; I just had to figure out which blocks to include. I am mostly satisfied with the final program, but given more time, I would love to delve into the advanced customization. I noticed that you can upload your own sprites and costumes. Having the cat swing a bat to hit the ball would be an excellent addition. The possibilities seem endless.
As I said, I have previous programming experience. So, in the end, learning how to use Scratch was not very difficult. However, I am a little out of practice. It has been a few years since I have written any programs. That would be the insight I gained from this exercise: a refresher on programming logic and some excitement for future opportunities to write actual code rather than drag and drop blocks around.
I also had a great experience with the participation activities at the end of chapter 2 of the textbook for the course. I found these relatively easy due to my past knowledge. Machine and assembly languages are more complex and time-consuming than high-level languages like Python. Scratch was even easier, but I still prefer creating programs with a high-level language to something like Scratch. I like having more control over what the program does. So, machine language was the hardest because of needing to know what all the ones and zeros mean to the computer. Assembly language was easier because it is more human-readable. According to the textbook, a program known as an assembler converts assembly into machine language (Vahid & Lysecky, 2019). Of course, I found the high-level language (Python, in this case) the easiest. For high-level languages, a compiler is used to convert to assembly or machine language (Vahid & Lysecky, 2019). Creating variables to store values makes it easier for a human to remember what the program is doing. Scratch was the easiest because it involved dragging and dropping pre-written code blocks to manipulate what happens on the screen. However, this simplicity comes at the expense of flexibility and control.
Each type of programming language has scenarios where it
is most effective. While there are not many scenarios where humans write
machine language, someone does have to create or maintain the assemblers that
convert into machine language. Also, when writing in assembly or high-level
languages, it is helpful to understand how the more human-understandable code
translates into machine language. “By learning about machine language,
programmers can gain a deeper understanding of how computers work and use this
knowledge to create innovative and powerful software applications” (Çıtak, 2023,para. 2). Going another level up, assembly language is a bit more commonly
used. As Kaushik Pal (2022) writes at Techopedia, assembly language can be used
to directly manipulate hardware and enable access to the processor and other system
parts. Some actual uses for assembly language he mentions are device drivers,
real-time systems, and embedded systems. High-level languages, in contrast, are
used to create many software programs and web apps. They are relatively easy to
learn, and well-written and well-documented programs can be easily maintained
and improved over time, making high-level languages the most popular of the
three types.
References
Çıtak, E. (2023, July 24). A Beginner's Guide To Machine Programming - Dataconomy. Dataconomy. https://dataconomy.com/2023/07/24/a-beginners-guide-to-machine-programming/
Pal, K. (2022, December 6). Why is learning assembly language still important? - Techopedia. Techopedia. https://www.techopedia.com/why-is-learning-assembly-language-still-important/7/32268
Vahid, F., & Lysecky, S. (2019). Computing technology for all. zyBooks.
No comments:
Post a Comment