What is Computer?

17 Jan 2021

A computer, by definition, is a machine that can be instructed to carry out sequence of arithmetic or logical operations automatically via computer programming from Wikipedia. From what I learned in the class a computer is basically a machine that can do different types of computation as designed by human being. There are 7 basic concepts of computation that was mentioned in the class, data (type), counting (induction, recursion), state (co-induction), program (computability), software (metaprogramming), hardness (complexity) and communication, information, network.

Data and types (lecture note 1 Data, types, abstraction) The world of a computer consists of data. Data is anything that can be given a name. Computing is data processing. Type is the properties of the data. The data service delivers the data to the program points where they are processed. The way the data is processed is called function which is anything that consumes inputs and produces outputs. The abstraction and application are two important process that make it possible to describe and use computation by programs.

Counting (lecture note 2 Counting, induction) Computing begins with counting. A counting function inputs a set of data and output a number. And this can lead to addition, subtraction, multiplication and division. Also counting can build up numbers. We can use either induction and recursion to achieve the purpose of computing as they are just methods to organize counting.

State (lecture note 3 State, co-induction) State can be though of as the internal memory, where the information relevant for the control flow of computation is stored, and the irrelevant information is filtered out. The state change is called a transition. Machines implement behaviors which provide a universal representation of states that provide bounded memory. Therefore, a statement machine can be considered as a very basic computer focused on just one purpose.

Program (lecture note 4 Program, computability) The real computers are Turing machines. The state space of a TM is always finite but it is unbounded and can grow arbitrarily large. The evolution of memory of computer is from no memory (store less computing) to internal memory (state as store) to external memory (unbounded storage). The original programs are executable descriptions of Turing machines. And the original computers are the universal Turing machines that execute the descriptions of arbitrary Turing machines. With these being said, computers are thus defined as programmable machines and programs are defined as the machine descriptions fed to universal machines as data. Computers contain universal evaluators and partial evaluators.

Software (lecture note 5 software, metaprogramming) Software makes computation into a large-scale process. This process is the practical realization in which the basic conceptual components of abstract computer become the basic technical components of concrete computational processes that the universal evaluators become the program interpreters and the partial evaluators become the program specializers.

From all these above I learned from the class, I can conclude that a computer is a machine that takes an input as data in the software which contains large numbers of different programs to produce an output. For example, you double click an word document in the computer, it takes the input “double click” as data (maybe transform to 001) the software (operation system) recognize the data and execute the program of word and opens the document you clicked as an output.

My first memory of a computer is a big, cubed monitor with a large box back in 1999. That was the first desktop in my family. I was too young that have no idea what that is exactly. I only knew my brother used it for gaming and my parents used it for their business. Ever since then I get a great interest in computer that I joined the computer club in school to learn it.

My most recent use of a computer is to study, programming and gaming.

As the day-to-day development of technology, computer plays more and more important rule in daily lives. I can do pretty much everything in the computer. Using the zoom and Laulima website to study for the university classes. Reading books of any kind such as novels, textbooks, magazines in the computer make it more convenient and cheaper. Shopping online, finding cooking recipes, entertainment such as watching movies, listening to music, gaming all can be achieved through computer. All of these make computer important for me.

The interest to explore more of computer since I was young is the one of the driving forces that make me decide to study computer science. I want to understand more about computer that how it works and why it works that way. The other driving force is the huge job opening for computer science.

The difference between a computer and a smart phone and a tablet is very small. They all can do as the definition of computer do but just the size and computing power difference. The biggest difference I would say is the computer is more generalize machine that can do more while the phone and tablet can do less functions.

The difference between a computer and a programmable washer or dryer, a robotic vacuum cleaner, a driverless car and a robot is the machines except computer are more specific into certain functions. As a result, those machines can be considered as a simpler computer that special programed to only take certain input to produce the limited output or performance.

I would say an animal is very like a computer that it was programed by the nature. Let’s say a dog sees a hot dog. The picture and smell of the hot dog are taken by the dog as input data, it processed in the dog’s mind through the “programs” to check if it is eatable, output yes then dog will go and eat that hot dog. So in this sense, an animal is just like a computer besides that computer can do more comprehensive programs and computation than animals. A person in the other hand can do more comprehensive “programs” and computation than computer such thinking, love.

The technology, tools will change but the basic concepts will not change. So, the early computers and the modern computers shared all the basic characteristics and concepts of computations such data, counting, state, program and software.

In 2 years, I guess there will not be a huge change of computers besides probably faster computation power. In 5 years, I will guess the computers will not only be faster but also be smaller and lighter. In 10 years, I will guess the computers will change to 3D like a projected screen and way smaller and faster.