# Blog

## Thinking Like a Computer – Data Types

## Thinking like a Computer – Algorithms

An *algorithm* is a description of a process that operates on a given input to produce a desired output. This definition is both very general and very similar to the description of what a computer does. The difference is that an algorithm is just a description of a process. It does not necessarily have to run on a computer. But algorithms are also sequences, and thus they are very well suited to be executed by a computer program.

## Thinking Like a Computer

Now you know how a computer works. The basic concepts are actually rather simple. Of course, actually building a computer is an incredibly complex undertaking. Fortunately, we programmers can focus on programming them.

In the last section we learned that a computer command basically performs these three task:

- Read the instruction and data from memory.
- Perform a calculation.
- Store the result at another address.

Then the computer continues with the next command. Then the next. And so on. This is the programming of the computer.

## Understanding Your Computer in Five Steps

To solve a problem with a computer, you have to understand how it works first.

Almost all computers that are in use today are *digital*. The analog computer is a thing of the past, so we can focus on digitial computers. The word *digital* in the context of computers mean that they based on binary numbers – numbers that consist only of zeroes and ones. This fact determines everything how a computer works. The amazing thing is that just with two numbers, computers can be used to solve a huge variety of tasks.

To understand how a computer achieves this feat, you have to learn to use binary numbers yourself. This is the first step towards thinking like a computer.

[Read more…] about Understanding Your Computer in Five Steps