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.
You might feel familiar with that, it just like
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:
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.
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 is a World-renowned scientist in computer science from US, who is recognized as the father of morden computer.
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:
- There are no “control unit” and “storage unit” in turing model
- 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.
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.
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, in other words, programs.
Its concepts include:
- Program can be stored like data (it’s important so I repeat it again)
- Programs is a set of instructions, we can refine the common instructions, which could be reuse easily
- Algorithm: the steps of solution to solve the problem; it’s a part of a program
- Programming language: you can use that to write computer software
- Software engineering: making the process of software development more standardized
- 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.
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.
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.
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.