A Programming Article For Complete Beginners
Have you ever wondered what lies in the big world of programming? If you have, this article is for you. This article will go over the parts of the computer and how they relate to programming, for beginners of course. First we will go over the basics of programming, then we will go into binary code, and then finally go over the parts of the computer. The world of technology is way too complex for any normal person to completely understand, so try to follow along with what we will be going over.
We will start by going over the basics of coding. Coding is a huge world that has created some of our most used inventions today, like our phones, elevators, lights, and many more. We will mainly be going over the computer side of programming. Programming comes in many different languages. You can code in C, C#, C++, Java, Javascript, Lua, HTML, Python, and the list goes on and on and on, but those are the most common coding languages today. Each coding language is written with strict instructions that tell the computer to do something. The coding languages are usually written in English, but of course the computer cannot understand english at all, so people use a program called “compiler” to translate the english code into a language called “binary code” which the computer is able to read. Each part of your code has a certain value. Because of how binary code works, these numbers are very important for the code. You will also have to understand that coding is a hard process. You could take years making an app and only 1000 people would use the app. This is why you have to be very patient when coding.
Now we will go over a very complex topic, binary code. Binary code is written as 1s and 0s, with 1 meaning on and 0 meaning off. The computer is an on and off device, much like most other devices, meaning it is very hard to get the computer to do complex actions given how it works. The solution to this was binary code. A famous man from the 1800s named John Von Neumann decided that using computers by manually turning switches on and off was too tedious and hard, so he decided that making complex programs was simpler. These complex programs allowed the computer to do actions on its own by simply programming it to do so. Now we are going to go over how binary code works. This is the most complex part of coding. Binary code is a complex system that uses the number 2 to make up numbers. These numbers are the numbers I talked about before where each part of your code has a value. Binary code creates those values. Let’s work on the binary 10011. Binary code reads right to left, so we will start on the number 1. Going right to left, binary code adds powers of 2 to make numbers, those powers starting at 2^0, then 2^1, and so on. Since one means “on”, that means we will be using the power of two, and since 2^0 is equal to 1, we will have 1 in our number. Then we have another 1 and after 2^0, we have 2^1, which is 2, meaning so far we have 1 and 2. I know this is confusing, but try to follow along. The next 2 numbers are 0s, meaning we skip them. That skips 2^2, and 2^3, meaning that the next 1 is on 2^4. 2^4 is equal to 16, so now we have 1, 2, and 16. To get our number, we add all of these together, getting 19 in total. This means that 10011 is 19 in binary code. Now that you know this, you can try it with other numbers. I have provided a binary to decimal calculator on the fun page so you can check your guess for your number in the calculator. That is the main basics of binary code, and I don’t want your brain to explode, so it is time to move on to the most complex topic.
Now we will go over the basics of the computer. This will include, the Computer Processing Unit (CPU), the Graphics Processing Unit (GPU), the memory, and lastly booting. We will start with the CPU and the memory. The CPU is basicly the “brain” of the computer, controlling everything that happens in the PC. Don’t get the CPU mixed up with the operating system (OS), which is a program that manages what happens on the computer. Imagine you write a program that creates a variable, which is what stores information you put in it, with the name of “number” and the value of 1. This information will be translated into binary code, and the CPU will be sent signals telling it what to do. The CPU will take the code that you put in and send it to the memory. The way that the information is sent is by using a computer part called the “system bus.” The system bus is what transfers data between the CPU, memory, and the GPU, and is a very crucial part of the PC. Once the memory receives the information, it will be stored in a specific registrar that separates each set of information. Imagine you created one variable called “name” and another variable called “cloths.” Those two variables could not be the same because of the compiler having problems with translating, but lets say you had two programs with two different compilers each with a variable and both of the variables set to name. This would cause no problems, but why? This is because the computer cannot read the program, only the binary. The binary stores the variable, but not the name. In order to specify each piece of data, the computer uses the location of the data in the memory as the “name” and comes back to that location when using that variable, and this is very important, because it is basically why your computer’s storage is filled with “bytes.” Every location used in the memory is stored as a byte. Now let’s go back to our number variable. Now that the variable is stored in the memory, it can be accessed any time. Let’s say we use some code that prints out the variable. This will now require the GPU’s power to render the number on the screen. The GPU is the computer part that renders all the things on your screen. The CPU can work as a GPU, but as our computers get more advanced, we need to not give the CPU too many tasks, so that’s why the GPU was made.
To sum everything up, we will talk about booting. When you turn on your computer, it is programmed to go to the lock screen, but how do you program the computer before the OS starts, or before the computer knows to do anything? The way the computer turns on is by using a program called booting. The term booting comes from the expression “pull yourself up by your bootstraps,” because it is similar in the way where the computer has to start itself using itself. The booting program can be changed, but the computer will always run that same program when it starts up.
I know that this was a lot of information to throw at you, but I hope you learn something out of it. Programming is a very interesting topic once you get into it. I just stated everything that a beginner should know about programming, but you can go deeper. GPUs, CPUs, binary code, they all have a deeper history to them, and I recommend that you look into them more. A lot of this article will have useful information for the quiz and the crossword if you’re planning to do those. Please take some information out of this article with you, and check out the amazing websites shown below.
Works Cited
“Computer memory.” Britannica School, Encyclopædia Britannica, 21 Jun. 2007. school.eb.com/levels/high/article/computer-memory/25051. Accessed 17 Jan. 2024.
Ferguson, Andrew. “A History of Computer Programming Languages.” Brown University Computer Science Department, Andrew Ferguson, 2000, cs.brown.edu/~adf/programming_languages.html. Accessed 23 Jan. 2024.
“History of Computing.” School of Computer Science, Carnegie Mellon University, 15 Jan. 2020, www.cs.cmu.edu/~15292/assets/slides/01-OriginsOfComputing.pdf.
Portland State University, et al., editors. STEMRobotics. 26 May 2016, stemrobotics.cs.pdx.edu/node/4208.html.
Sheldon, Robert. “Display.” WhatIs, Lowell Thing, www.techtarget.com/whatis/definition/display#:~:text=Liquid%20crystal%20display%20(LCD).,light%20rather%20than%20creating%20it. Accessed Nov. 2022.
St. Amant, Robert. Computing for Ordinary Mortals. New York City, Oxford UP, 2013.
Zaluski, Marek. “Why Programming Languages Are Hard.” Dev, Ben Halpern, Jess Lee, and Peter Frank, 4 Mar. 2019, dev.to/marek/why-programming-languages-are-hard-19ch.
Zola, Andrew. “Boot.” WhatIs, Lowell Thing, www.techtarget.com/searchwindowsserver/definition/boot. Accessed Feb. 2023.