Week 1 Blog Post

September is the beginning of a new school year, and again, I’m able to have our lovely Mr. Pete to teach us Computer Science. During this week, we mainly discussed about the big picture of CS.

Introduction

On the first class, we recalled some key terms that we almost forget about CS, like the six layers of computer, and what is software. Then we restated the four key terms of computational thinking: decomposition, abstraction, pattern recognition and algorithm. For homework, we were asked to compare and contrast the command terms of CS and other science subjects. I have no other science subjects than CS (cause I love CS so much), so our group borrowed the key terms of biology from Steve and of Math from the Math classroom. According to our observation, the command terms of CS is similar to the ones of other subjects. However, minor differences including specific requirements to use computing thinking to solve real life problems is unique in CS’s command term.

Screen Shot 2018-09-03 at 20.34.57
The screenshot of the command term matching assignment.

Looking at Computing System

The basic procedure of viewing computing system is to look at the input, process, and output of it, which is also known as “the IPO model”. It’s the basic structure of information processing programs and other processes.

Computational Thinking

There are four key parts of computational thinking: decomposition, abstraction, pattern recognition and algorithm. Decomposition means to divide a complex problem into many parts; abstraction means to look at a specific part of a problem (which is, I think, similar to “reductionism” in psychology); pattern recognition is to realize the pattern and regulation of phenomena; algorithm is a series of specific and step-by-step instructions to solve real-life problems.

Layers of Computing System

There are six layers of computing system: information, hardware, programming, operation systems, applications, and communications. 

Picture1
Layers from Computer Science Illuminated

Information: the most basic layer, very conceptual. Basically 0 and 1.

Hardware: the physical part of computers.

Programming: software, which is the instructions that tell hardware what to do.

Operation systems: help to manage the resources in a computer.

Application: solve real-life problems.

Communication: computers are usually linked with other computers.

History of Hardware and Software

On the second class, we talked about the history of computer and programs. The book Computer Science Illuminated briefly illustrated the history and generations of hardware and software. The earliest computer was believed to be the Stonehenge, which was used to calculate the calender. The first computer was made up of vacuum tubes, and the second generation was built of transistors, and then integrated circuits, then even more integrated circuits. The first programming language was machine language, which was basically binary, and then assembly language, then high-level languages, then systems software, then application packages were progressively introduced. At the end of the first generation, users of computers divided into 2 groups: the ones to write tools to simply programming and the ones who use those tools to program. After domain-specific programs were introduced, people who didn’t know how to program started to use computer as well. Finally, computer became one of the most productive products in our lives, and those who once doubted the arrival of digital era were proved wrong.

Control System

On the third day we talked about the range of control system, which is closely related to robots. Input, output, processing and the transition between physical signal and electrical signal is involved in this system. There are two types of control system: open loop without feedback, which is more independent but less reliable, and closed loop with feedback which is more reliable but takes up more resources.

Computing as a tool and computing as a discipline

People who use computer to solve problem aside from creating new tools view computing as a tool. Other computer user, who write tools, view computing as a discipline. To them, computing is a study, or field. Here computing has many other names, like computer science and engineering, computing, and informatics. The two computing way together make up how computer users use computer and view computing.

Digital Divide

Finally, we discussed the ethics behind computer science. Digital divide is one of the most serious problems in CS. It refers to the unevenly distribution of computer and internet resource in the world. This is a invincible wall between the world with computer and internet and the world without. Computer and internet wouldn’t change the world, but it is us who would use those technology to change the world. As a student without money and power, we can use our own ability to contribute to the elimination of the gap of digital divide.

wordcloud (1)
Word written by our class about digital divide. 

Last but not Least…

In conclusion, we talked about the big picture of computer this week, including the basic thoughts of CS, the history and ethic concerns that we have to think about. Those points are important for the introduction to this course. It clarified the concepts, taught us how to think in a computational way, and told us the responsibility that we have as CS students.