Why study computer science?
The beginning student might have two questions:
What is computer science?
Why study computer science, especially in the age of artificial intelligence (AI)?
To answer the first question, I give a very general definition of computer science:
Computer science is the study of how to use computers, which are the most versatile and useful tools in modern history.
As technology has advanced, computer science has expanded and diversified. The development of personal computers in the 1980s gave individuals the power and freedom to write and run their own code. The internet gave people the ability to code their own web pages and share them publicly. During this time, many software projects were created and released with free and open source software (FOSS) licences. These open source licenses give the user freedom to use the program as they wish, to study how the program works, and to change and redistribute the program.
Many large open source software projects have developed as a result:
The open source Linux operating system is used for the vast majority (> 90%) of web servers and other cloud services.
The web development ecosystem relies on free and open source HTML, CSS, and JavaScript libraries, frameworks, and engines.
The open source Python and R programming languages are essential for data analysis in all areas of science.
The AI research community has thrived by openly sharing both research and software implementations at all levels, from the underlying mathematics of neural networks to the open publishing of large language models.
The these large-scale collaborative projects illustrate the reason why I like to study computer science: it gives you the ability to create something from nothing.
Back to the second question: In this age of generative AI, where a large language model (LLM) can generate code in seconds, why is it still important to study computer science?
Studying computer science will help you use the computer more effectively, which now includes the use of AI.
In real life, if you use code to solve a problem, you are responsible for demonstrating that the code works, whether that code was written by you, your colleague, or AI. Studying computer science gives you a framework for understanding the behavior of complex software systems, which is necessary both for validating your software and for diagnosing any problems.