Translate

Sunday, October 4, 2020

Programming Language

Only a and full of people know that I am back in school and I can't believe how quickly the weeks have gone by. As part of our final assignment, we have to reassess some of our previous discussion posts and assignments. This post will be about my experience with Scratch, an online coding platform meant on educating anyone interested in programming language and how it behaves as well as some material from our textbook. I created a simple interactive animated program that asks for user input and performs actions based on user responses. Professor Dehmani gave me great feedback on the overall assignment and said I hit all the marks of the grading rubric. Here is the URL to my Scratch program:

https://scratch.mit.edu/projects/424964800/

I had fun programming and interactive project using Scratch. Scratch was easy to use and navigate, and the way it’s designed is very intuitive. I can see the designers wanted to make programming easy for beginners as well as those who already are familiar with coding. I have been coding in Python for the last three years, and it was reasonably simple for me to get a feel for designing what I wanted to do with the interactive program I created.

Since I already know how to code, there were some issues I found with adding separate sections of code to the project. I used three sprites, and I wanted to have the behavior of each separate from each other. If I were to code this myself, I would use functions or classes, but Scratch doesn’t seem to have something like this. I also found that I could not display text that was able to add user input together with new words.

The way I approached these difficulties was to stop for a moment and think about how the program wants the user to combine the blocks. Once I got an idea of how the designers wanted me to proceed, I began to work on the sprites. The way I understand how the sprites work is each one is its own type of function. I used the cat, guitar, and basketball sprites for my program. I had to figure out how I would get commands from one sprite to the next, and I did by using the broadcast block. For the basketball sprite, I had to call a message that I named “shoot_ball” and it animated the basketball going into the hoop. One thing I didn’t like about this is that I had to contain the code within an ‘if’ statement instead of a function, and I could not figure out an alternative to this since this action was reliant on the user input. For the guitar sprite, I used a message called “show_guitar” to make the guitar appear. I made it so that if the user clicks on the guitar it made a sound of an E power cord, which I recorded with my own guitar and amplifier. I really liked implementing that audio part.

Since I am already writing code in Python, I feel there was not much insight I gained from this exercise. I will say that I found it intriguing how the developers at Scratch designed a method that can quickly teach beginners how coding works together. I also like the many options they allow users to access when designing a program, especially something that interactive, such as the program I wrote. 

For this class, we are using the book "Fundamentals of Information Technology & Literacy" by Frank Vahid and Susan Lysecky. From the text based on chapters 2.8, 2.9, 2.10, and 2.11, I used print statements, input() functions, and “if, else” statements on my Scratch program. These statements and functions worked as I expected them to. Since I am familiar with Python, there was nothing relatively new that I learned.

The text mainly speaks to punched cards, Assembly, and high-level languages when discussing the differences between various programming languages.Punched cards are similar to binary inputs, which a computer understands using 0 and 1. Binary is the simplest form of programming. With Assembly, there is a small number of human language commands that help the programmer implement what they want the computer to do but requires a lot of knowledge of memory blocks. Assembly language made programming easier by removing the need to decipher binary before implementing it. High-level language improved coding by using more readable words and design mechanics so that programmers can implement what they want more simply. With high-level languages, users no longer had to decipher binary or remember memory block usage. I find high-level languages easier to use as it is written in a manner that I can understand. I prefer not to have to remember memory blocks and decipher binary.

There are various scenarios where each of the above-mentioned programming languages would be most effective. Punched cards are obsolete, so the only way it can be useful is by being a part of history and having it discussed/displayed so a student can understand the beginnings of one of the earliest forms of coding. Assembly is still used today and is more efficient when programmers want to write a program that is faster and uses less memory to write programs. NASA even uses Assembly to send commands to machines that are still in use today. High-level languages are better suited for contemporary projects and user needs. High-level languages can be used to develop web pages, make animations, and design spreadsheets, and it can be done quickly. There are multiple scenarios where high-level languages are used effectively, one being YouTube.com. At one point before Google made changes over the years, YouTube was almost entirely written in the high-level language Python. In terms of which programming language is most popular, I think High-level languages are. The readability, ease of use, and the fact that they are free to download make it the most highly sought after language. High-level languages are easy to teach and quick to understand. They can be utilized to make life easier for those who need it most, such as businesses, the medical field, and people with disabilities. As time goes by, high-level languages will continue to get more efficient and easier to write. Soon, anyone will be able to code with little to no training.

That was a lot, wasn't it? I hope you enjoyed reading my post as much as I enjoyed writing it. 😁

References


Vahid, F., Lysecky, S. (July 2015) INT 100: Fundamentals of Information Technology &

    Literacy. Retrieved September 9, 2020 from:

    https://learn.zybooks.com/zybook/ASHFORDINT100AcademicYear2018

van Rossum, G. (December 12, 2006) [Python-Dev] [Python-checkins]MSI being downloaded

    10x morethan all other files?! Retrieved September 13, 2020 from:

    https://mail.python.org/pipermail/python-dev/2006-December/070323.html


No comments:

Post a Comment