Wednesday, March 29, 2023

Programming Languages

Each language type has a purpose. For instance, when two computers need to communicate, machine learning is used as computers can only understand 0’s and 1’s. Assembly language is practical to use when a programmer wants to have control of the hardware within a computer as it “provides a richer understanding of the underlying computer architecture” (1.3: Why Learn Assembly Language, 2020). High-level languages are most effective for new programmers as they use statements within the instructions that are easier to understand. Of the languages introduced thus far, high-level languages like Python are the most popular. Programmers prefer such languages due to their ease of use and learnability. Well-known platforms such as Google Search and YouTube were developed using Python (Berkeley, 2020). High-level languages will be beneficial to both new and skilled programmers.

Building a Program Using Scratch

My experience building a program using scratch was enjoyable yet challenging.  The Scratch platform has many tutorials to assist users throughout different project phases.  At first glance, the platform was intimidating as code is new to me. The different colors and oddly shaped blocks were confusing at the start.  However, after browsing various tutorials, I became more confident in creating a simple program.

Once I selected the characters, desired backgrounds, and storyline, I assembled blocks from the different areas to bring the project to life.  I encountered some difficulty positioning the characters in a way that did not result in overlapping conversation bubbles.  I began moving the Sprints to different areas to correct the issue, then playing the animation.  Alternating between the other Sprite costumes proved challenging as I mistakenly deleted the one I intended to use multiple times.  Another area I struggled with was the wait time between each character’s comments.  I corrected the timing by increasing or decreasing the numbers in small increments until the conversation could be read easily on the screen.  The easiest part of the program was adding sound and movement. After hours of repetition, adding/removing blocks, and playing the animation after each change, the story came together. Click on the "Let's Head Out" link below to see what I came up with. 

Let's Head Out


Insights

This assignment showed me that programming could be tedious and that attention to detail is essential. The experience made me look at animation differently, as I was unaware that so much effort goes into making simple animations and interactive games. Programming is a skill that takes patience and continuous repetition to feel confident and eventually master. I could do programming with extensive training; however, the meticulous attention to detail that is needed could lead to burnout down the line.

Scratch programming is easier to understand than the participation activities in Sections 2.8, 2.9, 2.10, and 2.11 of the textbook. Machine language was difficult to understand as it was hard to grasp the concept of 0’s and 1’s by themselves. Although assembly language “ is a textual human-understandable representation of a machine language's 0's and 1's” (Vahid & Lysecky, 2019), I needed to replay the simulation multiple timers to understand. The high-level language section was easier to understand as the simulation contained familiar characters or formulas. The Python introduction in the final section was the most interesting and easiest to understand. A programming language that uses words rather than 0’s and 1’s is easier for the human mind to process and understand. Scratch is a programming language that does much of the work for you in the background and is, therefore, the easiest to use.   However, once one learns how to write the instructions for Python, that language seems like it could be reasonably straightforward as well.


References:

1.3: Why Learn Assembly Language. (2020, April 14). Engineering LibreTexts. https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/Book%3A_x86-64_Assembly_Language_Programming_with_Ubuntu_(Jorgensen)/01%3A_Introduction/1.03%3A_Why_Learn_Assembly_Language#:~:text=learning%20assembly%20language.-  

Berkeley. (2020, December 16). 11 Most In-Demand Programming Languages in 2021. Berkeley Boot Camps. https://bootcamp.berkeley.edu/blog/most-in-demand-programming-languages/

Vahid, F., & Lysecky, S. (2019). Computing technology for all. zyBooks.








No comments:

Post a Comment

Data Structures & Algorithms

 Algorithmic Design When developing a program, having a clear idea of how you want it to perform is crucial; that is where algorithmic desig...