Computer science is a discipline that uses math and logic to solve complex problems in hardware and software. Through the process of abstraction, complex technologies are simplified to provide convenience to users, making it an essential technology in modern society.

# Fascinating computer science

Computer science is based on math and logic and has dozens of different fields, including computer architecture and design, software systems, networks, graphics, and more. Although its history is much shorter than that of math and physics, computer science has developed rapidly as an emerging science since its inception in the United States in the 60s of the 20th century. As science has developed rapidly over the past half-century, computer science has also grown at a rapid pace and is now related to almost every field of science and is inextricably linked to our daily lives.

Especially in the modern world, computer science is more important than ever. Computers are no longer just a technological device, but a key tool of the information society. For this reason, many people, not only students of computer science, are interested in learning about computer science and programming skills. Instead of introducing all the branches of computer science, I would like to describe two main characteristics of computer science based on my own experience.

# The relationship between math and computer science

First of all, computer science is very closely related to math. Computer science is a science based on math. Even before there were computers, the field of mathematics has been studying computing for decades, and many mathematicians have made significant contributions to the inception and development of computer science.

In the early 19th century, the great British mathematician Alan Turing created the Turing machine, which is considered the precursor to the modern computer. The Turing machine read binary numbers, which are made up of zeros and ones, and suggested solutions to problems accordingly. This is how the CPUs in your PC or smartphone process binary numbers. The foundations of computers are deeply rooted in mathematical principles, and the ability to think mathematically is essential to learning computer science.

Therefore, you need to be good at math to do well in computer science. In addition to calculus and engineering math, computer science students must study discrete math. Discrete math covers the basic concepts used in computer science, such as logic, graph theory, algorithms, probability, and linear algebra, and is the key to unlocking the door to computer science. A strong math foundation is essential to excel in the many applications of computer science.

Non-mathematicians may think that computer science is simply about learning to program, but the core of programming is not just about mastering language grammar. Programming is about logical thinking and algorithms to solve problems. An algorithm is similar to the process of solving a math problem, and it defines a sequence of actions for a computer to solve a problem. While the syntax of a programming language can be learned in a relatively short period of time, designing a good algorithm requires a strong mathematical foundation. This is why computer science students take a lot of math courses.

# Abstraction: the power to simplify the complex

Another key characteristic of computer science is abstraction. Abstraction is the extraction of key concepts or features from a complex material or system and presenting them in a simple way to the user. Wikipedia defines abstraction this way “In computer science, abstraction is the reduction of complex material, modules, systems, etc. to their essential concepts or features.”

This concept may seem a bit abstract to the uninitiated. But even without a background in computer science, we benefit from abstraction in our daily lives. For example, the process of creating a PowerPoint file at home, saving it to a USB, and then opening it at school to present it seems very simple, but there’s a lot of complex computer science going on behind the scenes. The PowerPoint program processes graphics, stores data on the file system, transfers data over the network, and more to open the file. However, these complex processes are invisible to the user. Abstraction simplifies complex processes and allows the user to focus on simply opening and working with the file.

Thanks to abstractions in computer science, we can easily use programs without having to know anything about graphics or networks. Operating systems like Windows and Linux also provide abstracted interfaces, allowing software developers to create a wide variety of applications without having to deal directly with the hardware. Abstraction is a very important concept in computer science to solve complex problems and provide a user-friendly experience.

I once heard a professor say in class. “Computer science is all about abstraction.” He explained that it’s the job of a computer scientist to take something complex, package it well, and make it simple for the user. This is what makes computer science so fascinating and where you can see its impact in real life.

# ತೀರ್ಮಾನ

Computer science has become an indispensable discipline in modern society. It contains a wide range of theories and techniques, from mathematical foundations to complex abstractions, that make our lives easier. In order to understand computer science, we must first develop mathematical thinking skills, and based on that, we must have the ability to solve logical problems. Then, with this technical knowledge, we learn how to simplify the complex processes of computer systems and present them to users. All of these are attractive characteristics of computer science.

As a result, computer science is not just a technical discipline, but an important tool that drives modern society and will continue to evolve in the future. Along the way, there will be many challenges and innovations, and it’s exciting to explore them.