In this post I will go through my experience utilizing scratch to build a block program. This is my first time building anything with a block programming code. I will also compare block code to other types of programming languages.
Trying
to build a program using scratch was a lot of fun. I found that at first there was a lot to
learn where all the different blocks were and what they all were capable of
doing. I spent some time dragging and
dropping different blocks into the slots on other blocks so that I could see
how the interacted. This led me to be
able to assign a value such as the x position in the batter sprite to limit
where the batter could move to.
At
first, I found that there was a lot of different options to utilize with the
block programming method. I tried to
start building a project without going through any of the tutorials but found
that I did not know how what all the different block types did and how to
manipulate the sprites in the way I wanted.
Once I started going through the tutorials, I was able to identify a
good starting spot and follow the different tutorials based on what I was
trying to accomplish. After I had gone
through the different tutorials, I looked at some of the other projects in the
explore section and looked at how others had set up their programs. There were several complicated programs in
there that seems interesting, but I wanted to keep this project simple to begin
with and learn.
One
of the biggest incites I gained into programming from this exercise is the
importance of keeping track of where you put your code. I ran into a couple instances where I had
competing code in different areas and it caused the overall project to not do
what I wanted. Once I was able to
isolate the issues, I got most of the important coding into a single location
which made it much easier to keep organized.
Programming
in scratch was different than the exercises in the book working with machine
language, assembly language, and high-level languages. When I was looking at the machine and
assembly languages, I spent a lot of time trying to remember what the different
strings meant and making sure that they were in the correct format. Having to remember the binary code for an
input or output with assembly and machine language felt time consuming and more
difficult than it had to be. Even though
the machine language did not deal directly with the binary language it still
required an understanding of where the information would go in the binary
string. With the high-level languages, it was easier to understand what I was
looking at but trying to keep the syntax in order was a bit daunting without a
cheat sheet. It was nice not knowing
exactly where in the binary string the information was going to sit. I did find though with the high-level
languages understanding algebra was a definite must. Being able to set up and read formulas seems
like a very important feature when working with high level programming
languages. With the block language
having a graphical representation of what I was trying to accomplish was great
because I could see the path that the information was supposed to be following.
This made it easy to build a full
command and understand what it was trying to do. I think the block language was the easiest
of the languages to use though it did feel kind of limiting is some ways simply
because the blocks were pre-made and there were some things, I wanted to do I
just wasn’t sure about how to implement through the block format.
For
machine language I think the main area that it would be used is in programming
hardware such as microchips and other small components that are only ever going
to perform a single function. This would
reduce the amount of work it would need to do to get the task completed. I think assembly language would be used for
larger hardware components that are going to interact directly with other
hardware and not really have any human interaction. This would also be for components that do not
require a lot of commands to function such as maybe small power tools with a
few buttons for settings. I think
high0level programming languages would be used for any kind of complicated
programming that would need to be done.
Any kind of sophisticated software or interface with multiple
options.
I
think high level programming languages such as C++ and Python are probably the
most popular. They give the most freedom
when building a language. You can set
all your variables and objects yourself and have full control over what is
going to happen. There is more work
involved than a block language, but it pays off when you can get something to
do exactly what you want and not have to work around a pre-defined setup.
Comments
Post a Comment