Skip to main content

SCRATCH - My Experience

 Here is the URL link to my Scratch program: https://scratch.mit.edu/projects/678680203

 

My Scratch short program project was a total of 36 blocks. This process seemed like it would be extremely easy at first, but I soon realized it was not quite as simple as previously thought! The moment I created my account I went right into the video tutorial section and quickly began thinking about what I wanted to do. The video tutorials were presented in an easy-to-digest fashion. The website design overall was easy to navigate, and I found everything to be the epitome of the term: “user-friendly”.

 

            The most difficult part of my experience with Scratch was getting the timing of my program project right. I wanted my project to feel like a scene of a tv show. For everything to play on continuously with the click of one button. Getting it started was the easy part, but the real trouble began when I started to get the conversation going between my two characters. Getting the timing of each character’s speaking line, then adding in character movements, and scenery changes is what made the program even more complicated. The ability to make my characters say and do different things with a simple block instruction was fascinating to play with and witness in real-time. Every detail needed to be accounted for and planned for ahead of time otherwise the entire clip would be off. 

 

This exercise with Scratch helps users think in a more technical and computational way with the creation and implementation of highly detailed instruction statements. This is like what our textbook participation activities highlighted. Both sources were successful in illuminating this concept but each one did so in a different way. I understand how Scratch connects to computer programming, but I must say, it did not exactly feel like programming. Perhaps this is intentional though. An insight from this experience is that Scratch may have been designed to help users perform programming in an easy-to-understand way. Scratch is less intimidating than the textbook exercises. That being said Scratch simultaneously helps to teach users how to be meticulous and specific with their instructions, which is essential in computer programming.  

 

In reviewing and working through our course textbook, “Computing Technology for All” by Vahid & Lysecky (2019) I learned so much. The built-in participation exercises really helped drive home key points and adequately illustrated the fundamentals of how various aspects of programming works. For example, the 2.10.1 activity illustrated the differences between high-level language programs, assembly language programs and the corresponding machine language program. Seeing their relationship displayed visually in tables really helped in my understanding of these concepts and they relate to one another. Furthermore, I enjoyed how I was afforded the opportunity to input data myself into different equations that ultimately clarified how to convert high-level language instructions to an assembly language instructions. I learn best when I can be hands-on in an environment where making mistakes is not only okay but encouraged. With every wrong entry, we are presented with the correct answer and an explanation as to why this is the correct answer, and this was so eye-opening and aided in my overall understanding of these concepts. 

 

My experience with the participation activities in our textbook was much different than with the Scratch platform because with Scratch, it was much more user-friendly and easier to navigate. The textbook was much more detailed with its exercises, as each activity was extremely thorough and explained its various concepts to a tee. Whereas with Scratch, it seemed as though it was designed for a younger audience and presented its concepts in a different way, a more generalized way. Scratch did not feel like programming, but rather like an online game of sorts.

 

To understand the different programming languages, we must first begin with Machine language. The comparison our textbook made between a CPU executing a program’s instructions to a chef executing a recipe’s instructions was clever and makes so much sense. Considering that the CPU (central processing unit) only understands 0’s and 1’s, the instructions they receive can only be delivered in that format, which is what we call ‘machine language’. Assembly language was created to help us humans understand and navigate machine language. “Assembly language is a textual human-understandable representation of a machine language’s 0’s and 1’s…A program called an assembler automatically converts an assembly language program into machine language,” (Vahid & Lysecky, 2019). 

 

A high-level language encompasses higher-level instructions when compared to assembly language instructions. This capability allows for greater, more far-reaching possibilities, when it comes to programmer productivity. Examples of different high-level languages include: C++, JavaScript, and Python. Given how chapter 2 of the Vahid & Lysecky (2019) textbook ended with a brief introduction to Python, I found this particular programming language the easiest to understand and use. The reason why is most likely due to the hands-on component in the participation activity where we used a Python program to compute various numbers of ancestors. Being able to enter different numbers was handy because with each value the program would produce different results. I could then ascertain how the program operated. It turns out I am not alone in finding Python easy to use, “Python is a high-level programming language, increasing in popularity due in part to being easy to learn, to being freely available, and to having powerful high-level data-processing operations” (Vahid & Lysecky, 2019). 

 

            In terms of scenarios where each type of programming language would be most effective, it all depends on the context that a programming language is being utilized. For example: C++ was designed, “with an orientation toward systems programming and embedded, resource-constrained software and large systems, with performance, efficiency and flexibility of use as its design highlights,” (Stroustrup, 2014). In practice, this programming language lends itself to being especially useful in desktop applications, web search database servers, and even video games.   Conversely, the programming language JavaScript is known for being, “one of the core technologies of the World Wide Web,” (Flanagan, 2011). This is evidenced in how all major modern web browsers have a dedicated JavaScript search engine to execute the code on user’s devices (Looper, 2015).  In practice, this also means that the JavaScript programming language work to enable web pages that support actions such as responding to a button click. 

            

            In summary, this week’s readings and exercises were an excellent introduction into the world of computer programing fundamentals. The textbook was clear, concise, and easy to read. The way the authors broke down the more challenging concepts and the comparison they made between the CPU executing instructions to a chef executing a recipe was incredibly helpful. The learning activities within each chapter were also a great way for me to get hands-on experience with the material. Having the answers available is yet another aspect I enjoyed within the activities. Lastly, the exercise utilizing the Scratch platform was a great introduction into programing as well in the way it solidified the importance of computational and precise language. 

 

 

 

References:

 

Flanagan, D. (2011). JavaScript: the definitive guide. Beijing; Farnham: O'Reilly. p. 1. ISBN 978-1-4493-9385-4OCLC 686709345

 

Looper, J. (2015). "A Guide to JavaScript Engines for Idiots". Telerik Developer Network. 

 

Stroustrup, B. (2014). "Lecture: The essence of C++. University of Edinburgh"YouTube

 

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

Comments

Popular posts from this blog

Tech Topic Connection

                 The tech topic I chose was the fascinating and growing world of mobile applications. The biggest reason behind this is because of the vast potential mobile applications, or apps, possess. The website emizentech.com reviewed a Statista report indicating “there are about 7.1 billion app users worldwide,” and that, “global revenue is expected to reach $808 billion in 2022,” (EmizenTech, 2022). This is a burgeoning industry that is only expected to grow in the coming years.     Apps translate, “communication efforts into interactive customer experiences heightening cognitive, emotional, emotional, and behavioral responses,” (Kim & Yu, 2016). The world is now more connected than ever before. Through certain apps, individuals have the capabilities of crossing geographical boundaries and allows us to communicate with anyone who also uses the app and has an internet connection.    I use my smartphone ever...

Network Security

    With the advent of computers and the internet, so too came the invention of harmful scams. These malicious entities have become more and more prevalent since the turn of the century and exist in various forms. From existing in different types of computer viruses, spam emails, phishing, and Denial of Service (DoS) attacks there are a multitude of ways for user’s personal information to be accessed and disseminated without knowledge or consent.               During week 3 of our course we learned about ping commands and even practiced using these to access different websites. This week’s venture into security took the concept even further by revealing how one can use ping commands in a negative and harmful way in the form of Denial of Service (DoS) attacks. These types of security breaches require no hacking of any kind, nor does it involve the installation of any type of malicious software which is also known ...

Traveling Through a Network

  Hi World,        Ping Command Activity – This was a great exercise that highlighted how ping commands work in a hands-on way. I enjoy being able to play around with topics we are learning about. Here are the screenshots of my ping results. The two other websites beyond google was the official Australian government response website: Australian.gov.au and the official website of the government of Japan: Japan.go.jp         I was rather shocked to see that the ping to Japan was the quickest when compared to google and the Australian website! The average speed for Japan was 24.025 ms (milliseconds). Google’s average speed was 24.474 ms and the Australian site’s average was 188.582 ms. Given how far away those countries were I expected them to take longer because there is so much more distance that needs to be traversed. Given that the Australian ping took the longest was expected, but the fact google sits in the middle is a surpr...