Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
English 12 Per. 6
5/27/2017
Research Essay
Computers are incredibly fast, accurate and stupid; humans are incredibly slow,
inaccurate and brilliant; together they are powerful beyond imagination. (Source 2)
This quote demonstrates perfectly the relationship between programmers and their
tools. While computers can perform the same basic functions at an incredible rate, they
have no ability to solve problems on their own. This stark difference between humans
and computers can be very frustrating if programmers are not fully aware of how a
computer works. This research paper focuses on how computers are built and how their
structure affects programmers. Simply put, anyone trying to write good code must first
Computers are in a way, very dumb machines; they have only two very basic
thoughts: true and false, or, 1 and 0. These are stored as electrical pulses; a pulse of
researcher from BYU, explains: Transistors can change a one to a zero or vice versa.
learned to create logic; circuit boards that can perform operations and, or, and not
along with basic math. (Smith) For example, an or circuit board will take two inputs
(1s (true) or 0s(false)) and test if one of the two inputs is a 1 (1s are true). If either of
the inputs are a 1 (true) it returns true. Otherwise if returns false. Using transistors,
engineers have managed to create computers that can perform one very basic
operation at a time. They then created a call stack, which is used to keep track of the
order of operations to be performed. It then executes one statement after another until
the entire program is completed. (Source 2) By performing many very basic instructions
computers, and people, can solve complex problems. Imagine baking a cake,
computers read code like one might read an overly simplified recipe. Think: Grab salt.
Move salt shaker to bowl. Flip salt shaker upside down. Shake. Shake... Many of these
simpler operations can be combined into a program to bake a cake, but the computer is
too dumb to intuitively know how to do anything complex on its own (like add salt or
bake a cake). The reason computers are so much faster than humans at many tasks is
Efficiency and program speed is a problem that is simple to understand once one
understands the sequential nature how a computer executes each code statement.
Every computer has a speed or frequency of operations. Computers can only perform
so many statements of code each second. (Smith) An average computer today can
execute billions of bits (1s or 0s) a second, and millions of code statements, but large
programs can still be slow if the number of statements is too large. However, different
programs can be written in ways to use more or less lines of code.(Source 2) For
example, if someone were baking two cakes, he could bake one cake right after another
and use twice as many instructions (code statements). However, if he wanted to speed
up the process, he could bake them both at the same time. To add salt he would still
have to shake the same amount, but he would only have to pick up and put down the
salt shaker once each, not twice. By writing code efficiently, programmers can write
particular, can be useful is in encryption and cyber security. In fact, most of the
encryption used in the world today is not necessarily impossible to be solved by writing
an algorithm. It just takes too long to solve. (Smith) Cryptologists are very good at
creating codes that take too many code statements to crack. In fact, even the fastest
computers would have to run for 1176 times the life of the universe to complete the
create an unbreakable code, they used their knowledge of how computers work to find
The best programs are written in such a way that a computer can execute them
accurately and efficiently. I have learned much about how a computer works internally,
and the different internal components like the SSD, and CPU. I learned the basic
structure for modern encryption, using prime factorization to create the the need for an
inefficient algorithm. I have also gained a lot of practice writing my own code, and then
trying to optimize its efficiency. This was a very interesting mentorship, and I am
and am contemplating pursuing electrical or computer engineering. While this topic may
seem very specific to computer science, It is important to remember that as technology
advances, other professions and technologies will advance along with them, and that in
Works Cited
3 "The Science of Encryption: Prime Numbers and Mod N Arithmetic." University of California
Berkeley, n.d. Web. 27 May 2017.