Computer Science is the study of computers and computational systems. It involves both theoretical and practical aspects, ranging from algorithms and data structures to software engineering, artificial intelligence, and beyond. Computer science intersects with many fields, including mathematics, engineering, and information technology.
It's more specific about solving problems, using certain ideas and techiniques. Problem solving is a goal that is aproach by using computational thinking and computer programming.
Computational thinking is a way of thinking that involves breaking down a problem into smaller parts, identifying patterns, and developing algorithms to solve it. It is a fundamental skill for computer scientists and software engineers.
Computer programming is the process of writing instructions that a computer can execute. It involves designing algorithms, implementing them in a programming language, and testing them to ensure they work correctly. Programming is a creative and analytical process that requires attention to detail and problem-solving skills.
Essentially, computer programming is about taking some input and creating some output - this solving a problem. What happens in between the input and output, what we could call a black box, is the focus of this course.
The computer only understands machine code, which is a sequence of 0s and 1s, it's called binary. Programming languages are used to write code that we can understand and then translate it into machine code.
For example, if we want to write a program that represents a light bulb in binary, we can write it as follows:
- The light bulb is off, so we represent it as
0. - The light bulb is on, so we represent it as
1.
One light bulb can only represent two states: on or off. But if we have two light bulbs, we can represent more states:
00represents 001represents 110represents 211represents 3
If we have three light bulbs, we can represent even more states:
000represents 0001represents 1010represents 2011represents 3100represents 4101represents 5110represents 6111represents 7
This is how computers count using binary. They use a system called base-2, which means they can only count using 0s and 1s. This is because computers are made up of millions of transistors that can only be turned on or off.
Therefore, you could say that it would require three bits (the four’s place, the two’s place, and the one’s place) to represent a number as high as seven. Computers generally use eight bits (also known as a byte) to represent a number. For example, 00000101 is the number 5 in binary. 11111111 represents the number 255.
In this course we will focus on computer programming, but computer science is a broad field that includes many other areas, such as:
- Algorithms and Data Structures
- Software Engineering
- Artificial Intelligence
- Computer Graphics
- Computer Networks
- Databases
- Operating Systems
- Theory of Computation
- And many more