Programming Languages

 

Programming Languages

Have you developed a program using Scratch? Scratch is a visual programming language where I got the opportunity to build an animated program which has been the best experience in my opinion. It is a great resource to help kids and adults to learn how to create digital stories, games, and animations. Scratch promotes computational thinking and problem-solving skills, and it is truly effective as I was able to solve a problem with coming up with an idea on how my program should run accurately when I ran into bugs creating my program. While learning programming languages can be difficult at first, Scratch gives all individuals the ability to code computer programs with a visual interface because block-based coding prepares them to be able to code in other programming languages like Python, it gives individuals the opportunities to learn to think creatively, and reason systematically.

Experience Using Scratch

Building a program using Scratch has been very beneficial for me with improving my problem-solving skills. Before I started building my program, which can be found here, I watched tutorials that Scratch provides to learn how to add a sprite in my program and how to run my code blocks that I add to each sprite. After watching different Scratch tutorials, it helped me get creative to think on how I can build an animated program. Scratch has a visual interface for programmers to see their code in action, which it made it easier for me to visually see what my program will do when I test my code to make sure that my code runs accurately. Overall, I highly recommend for everyone to learn how to code using Scratch.

No matter what programming language I utilize, I will always encounter some difficulties. During the implementation of my animated program, I was having trouble with getting three letters “A”, “Z”, and “A” in Arizona to go back to the original size which was 100. Seen in Figure 1 the code blocks are what I had originally but every time I ran the code it kept increasing the letters by 40 rather resetting the size back to the original size.

Figure 1 When the code is running with these code blocks, the sprite will keep increasing by 40 rather than resetting the size.

I was able to solve this problem by adding a new code block above “wait 3 seconds” to set the size to 100% shown in Figure 2. This solved my issue that I had with each of the three letters as I now have the ability to increase them every time the code is ran but reset the size at the beginning of the code. For this project, the understandings that I have gained about programming is that it helps me unleash innovate ideas and work through problems quickly and efficiently.  Moreover, my experience programming in Scratch compared with the participation activities in Sections 2.8, 2.9, 2.10, and 2.11 of the textbook that explored machine language, assembly language, and high-level languages, such as Python is that Scratch makes coding more fun and interactive compared to all the other languages explained in Chapter 2 of the textbook. Machine language was a little difficult to understand but assembly language made it easier to read compared to machine language.

Figure 2 When the code is running above, the sprite will set its size to 100% but increase by 40. Every time the code is ran; the spire will go back to its original size.

 

Difference Between Different Programming Languages

             In the textbook ‘Computing Technology for All’, machine language is when a CPU executes a program’s instruction consisting of 0’s and 1’s only (Vahid & Lysecky, 2017). It is a language that can be understood by a computer as it is the only language a computer can work with. The textbook also explains that assembly language is a textual human-understandable representation of a machine language's 0's and 1's, as in: Add M[5] M[6] M[7]. The program will automatically convert an assembly language into machine language. Lastly, high-level language is a programming language having higher-level instructions than assembly language. Python is a high-level language which is the language that I found to be the easiest to use as I am very familiar with the language compared to the other languages described in the textbook.

            Machine language would be most effective for projects that involve predicting an output or uncovering trends. There is a documentation that I found on AWS that explains when to use machine learning and it states, “Use machine learning for the following situations:

  •  You cannot code the rules: Many human tasks (such as recognizing whether an email is spam or not spam) cannot be adequately solved using a simple (deterministic), rule-based solution. A large number of factors could influence the answer. When rules depend on too many factors and many of these rules overlap or need to be tuned very finely, it soon becomes difficult for a human to accurately code the rules. You can use ML to effectively solve this problem.
  •  You cannot scale: You might be able to manually recognize a few hundred emails and decide whether they are spam or not. However, this task becomes tedious for millions of emails. ML solutions are effective at handling large-scale problems.”
    Today, assembly language is used primarily for direct hardware manipulation, access to specialized processor instructions, or to address critical performance issues. It is commonly used in low-level embedded systems. Furthermore, Easton explains that high-level language like Python would be most effective in a wide variety of applications, including artificial intelligence, financial services, and data science. Social media sites such as Instagram and Pinterest are also built on Python. Python is the most popular language today as it is ranked number one. Its popularity has been increasing in the last few years, and it is expected to continue to grow in 2022. It is a popular language because, just like Scratch, it is easy to learn due to its syntax (Eastwood, 2021).


References

About Scratch. Scratch. (n.d.). Retrieved December 18, 2021, from

https://scratch.mit.edu/about/

Mitchel Resnick, N. R. (2020, November 1). Coding at a crossroads. ACM. Retrieved December 18, 2021, from

https://cacm.acm.org/magazines/2020/11/248219-coding-at-a-crossroads/fulltext

Eastwood, B. (2021, May 14). The 10 most popular programming languages to learn in 2021. Northeastern University Graduate Programs. Retrieved December 18, 2021, from

https://www.northeastern.edu/graduate/blog/most-popular-programming-languages/

Vahid, F., & Lysecky, S. (2017). Hardware and Software. In Computing Technology for All (pp. 2.1–2.11).

Mitchell, T. M. (2017). Machine learning. Amazon. Retrieved December 19, 2021, from https://docs.aws.amazon.com/machine-learning/latest/dg/when-to-use-machine-learning.html

Why do we need assembly language? Computer Science Stack Exchange. (1961, August 1). Retrieved December 19, 2021, from

https://cs.stackexchange.com/questions/13287/why-do-we-need-assembly-language

Comments

Popular posts from this blog

Computers in the Workplace

Network Security

Tech Topic Connection: Database Management