Engineering is Fun!

I am an engineer at heart. I love to build technical systems, both in hardware and software. In this section, I share my insights on building these systems.

Creativity and Engineering

Energy and Information


The Holistic Engineer


Choosing Your First Programming Language


What is a Programming Language?

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:

  1. Read the instruction and data from memory.
  2. Perform a calculation.
  3. 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.


Thinking Like a Computer – Functions