# Introduction to Computer Science

**Episode #1 of the course Kurt Anderson by Computer science fundamentals**

Welcome to the course. I am Kurt Anderson, a computer scientist with a passion for teaching.

Over the next ten days, we will be covering the basics of computer science. Our objective is to reach a point where you have a firm foundation to maintain an intellectual discussion on the topic.

**What Is Computer Science, and How Is It Different from Programming?**

What exactly is computer science? Formally, it’s “the study of the principles behind the use of computers.” More practically, it’s the understanding and analysis of how we manage data with computers.

When broken down, computers do one task: manage data. They store it, create it, send it, and execute it. Computer science looks to research these interactions and make them as efficient as possible. It’s of a higher level than any single programming language, as its principles apply to the problems themselves. In other words, computer science creates the plan, while a programming language executes the plan.

Therefore, if we learn the foundations of computer science, we will learn a set of skills that can be applied to all areas of computers.

**How Do Computers Work?**

Before we get into the meat of computer science, let’s take a step back and learn a little bit more about how computers themselves work.

You may have heard that computers use 1s and 0s. But why is this so? It all comes down to what a computer can recognize. At its core, a computer runs off electricity. This electricity has two reliable states, on (1) and off (0). To measure these states, we use something called a transistor, which is just an electronic switch that can be turned on or off. These transistors are so small that we can fit hundreds of thousands of them onto a single processor. They combine in intricate ways to produce the signals needed to operate the complexities of the computer. But this is all for a discussion on electrical engineering. What we need to understand is why is this important to computer science.

It’s important because it demands us to rethink our view of math. If we need to develop algorithms that work with a computer, we need to use math that only has 1s and 0s. Don’t worry, it’s nothing too complex—just a different way of seeing things.

**What Is the Binary Number System?**

The math that we are taught in school is known as the decimal system. The “deci” in this system means base 10. This just means that every 10 numbers will denote a change to the next magnitude (1, 10, 100, 1000, etc.).

Let’s say we have 9. If we add 1 to this number, we reset the one’s spot to 0 and then increment the next magnitude, which in this case, is the ten’s place, and get the number 10. This works with any number we have. After ten 10s, we increment the hundred’s place; after ten 100s, we increment the thousand’s place, etc.

Now, what if we switched that up and only had 0 and 1 to work with? This is known as the binary number system. It operates by only using only 0 and 1 to represent everything. Instead of 10, we only need to go to 2 before we increment.

With the binary number system, it’s the “two’s, four’s, eight’s, sixteen’s …” place.

So then, a normal progression would look like this.

Binary | Decimal |

0 | 0 |

1 | 1 |

10 | 2 |

11 | 3 |

100 | 4 |

101 | 5 |

110 | 6 |

111 | 7 |

1000 | 8 |

1001 | 9 |

1010 | 10 |

1011 | 11 |

1100 | 12 |

1101 | 13 |

You don’t need to get this 100% to understand the rest of the course. It can take many read-throughs and multiple different resources before one understands this completely.

The important thing to get from this is that computer science uses a slightly different math that is based off just two numbers, 1 and 0.

**Key takeaways:**

• Computer science is the understanding of the theory behind computing. Programming is the execution of this theory.

• Computers have only two states they can work with, on (1) and off (0).

• Due to only having two states, computer science uses the binary number system.

Tomorrow, we will build on this and look at how we can compare the efficiency of two algorithms.

Cheers,

Kurt

**Recommended resources**

Binary Number System: Learn more about how to count in the binary system.

The Binary System: Learn more about how to do math in the binary system.

**Share with friends**