Featured image of post FoCS 01 - Introduction

FoCS 01 - Introduction

After 8 years, I suddenly realized I bought the book

The story of cover:ENIAC,the first computer made by human.


As I said in the description, the book was bought in 2015, but I read it in 2023.

The book’s name is “Foundations of Computer Science”, a very classical tutorial for CS beginner. I bought it for my college courses, but I didn’t read it until I went to another university.

I call this series “FoCS”, just the same as the book’s name. In this series, I will repeat the knowledge I learned from the book by using my own expression, which can help me review rapidly.

Model of Turing machine

As we know, Alan Turing is a world-famous scientist in computer science from UK, and the model of turing machine was designed by him. (Computer was just a concept at that time)

Computer black box

For easy understanding, we can image there has a black box, which could convert your input to the result and output by making some calculating.

Your input ----> Black box ----> The result and output

You might feel familiar with that, it just like functions!

x ----> function ----> f(x)

A programmable black box

Then,the black box becomes more advanced. it has more functions by replacing the inner rules of calculating. It will be like this:

Input1 ----> Black box (rule1) ----> Output1
Input2 ----> Black box (rule1) ----> Output2

Input1 ----> Black box (rule2) ----> Output3
Input2 ----> Black box (rule2) ----> Output4

Just like functions, the value of functions will vary according to the variable of functions and the body of functions.
Once the variable of functions and the body of functions are fixed, the value of functions should be confirmed and unique.

x1 ----> f(x1)
x2 ----> f(x2)

x1 ----> g(x1)
x2 ----> g(x2)

The rules I mentioned above which is in the black box, is the “program”, which includes a set of instructions.

Universal Turing Machine

Universal turing machine is a black box which can change inner rules. If we provide the input data and the appropriate program, it could do any calculation.

Von-Neumann Model

Von Neumann is a World-renowned scientist in computer science from US, who is recognized as the father of morden computer.

Model composition

The model is composed by 4 parts:

  • Arithmetic logic unit (ALU): dealing with data
  • IO unit: input and output data
  • Storage unit: storing the data and program
  • Control unit: control all the unit above

What’s the differences

It’s the same as turing model, and von-neumann model is also a universal computer model. You can find the differences from the composition:

  1. There are no “control unit” and “storage unit” in turing model
  2. In von-neumann model, programs can also be stored

The composition of modern computer

In short, modern computer includes: computer hardware, data and computer software.

Computer hardware

For so many years, all modern computers are still based on von-neumann model.
Although there are different types of IO devices and control units, they still belong to the 4 parts.


Data Storage

Until today, all computer are the binary computer, which means the computer can only identify 0 and 1, so all the data in computers are represented by 0 and 1.

According to the different storage devices, it also has different way of representation:

  • In circuits, 0 and 1 are represented by disconnecting and connecting
  • In hard drive, 0 and 1 are represented by magnetic pole

Organizing the data

All the data is 0 and 1 for computers, but data can be represented by different ways outside the computer(Just like the same meaning can be expressed by using different languages)

Computer software

Computer software, in other words, programs.

Its concepts include:

  1. Program can be stored like data (it’s important so I repeat it again)
  2. Programs is a set of instructions, we can refine the common instructions, which could be reuse easily
  3. Algorithm: the steps of solution to solve the problem; it’s a part of a program
  4. Programming language: you can use that to write computer software
  5. Software engineering: making the process of software development more standardized
  6. Operating system: OS is also a program, a middle level between applications and hardwares, which provides support to applications for using hardwares

The development history of computer

Vacuum tube computer

The 1st gen computer (1950-1965). Using vacuum tube as the electric switch, which has a lot of power consumption and only big companies and organizations can afford it.

Transistor computer

The 2nd gen computer (1959-1965). Using transistor instead of vacuum tube, which reduces the volume and fever, so that some middle and small companies can afford it. At the meanwhile, FORTRAN and COBOL, two programming languages, became popular.

Integrated circuit computer

The 3rd gen computer (1965-1975). Putting transistor, wire and other components on one chip, which reduces the costs and the size furthermore. Many small companies can afford that, and the software engineering was born at the same time.

Micro computer

The 4th computer (1975-1985). Because of the development of electrical industry, the whole computer sub-system can be integrated on a single circuit board. Meantime, computer network was invented.

Modern computer

The 5th computer(1985-now), handheld computer and desktop computer was created and risen, and kinds of techniques of multimedia and virtual reality were born in this period.

comments powered by Disqus
Hosted by Cloudflare
Built with Hugo
Theme Stack designed by Jimmy