The Importance of Computer Science Education
2018-04-05

Computer science is a young discipline and only 70 years old. But its impact on our society is more than any other fields. Any human domains including communication, education, health, and even entertainment have advanced exponentially with the invention of computers and the Internet. The world wide web allows us to interact with one another over very long distance around the world within split seconds through the information superhighway. Computer chips and integrated circuits enabled the development of guidance system that puts the mankind into space. Since the advent of computing, the technology has disrupted mankind itself at an astonishing rate with no hint of slowing down.

As we enter deeper into the digital age, computers have become the fabric of our society. Mobile devices such as smart phones have evolved from tools merely used for making calls to ubiquitous personal assistance devices that drive our everyday tasks. And these devices are getting better by literally devouring our data generated from us. According to the Domo, a software computer specialized in business intelligence, the world generated about 2.5 quintillion bytes of data a day in 2017. This number keeps growing every year as the number of connected devices grows.

17_domo_data-never-sleeps-5-01.png

Computers get better not only with new features added by humans but also with algorithms that can learn from our data and make decisions with minimum human intervention. Machine learning is a branch of artificial intelligence where computers apply statistical learning techniques to recognize patterns in data. Amazon, the biggest online retailer, applies machine learning algorithms to predict and recommend you item you might want to buy by learning from the previous users or from you as you interact with the services. Precision medicine, touted as the healthcare of tomorrow, is the personalized medicine where treatments are tailored to individual patients by accurately modeling patients' state by combining phenotype and genotype data. This advance in medicine would not be possible without the computational models and statistical tools powered by machine learning. Machine learning is everywhere now and so there is a huge demand for data scientists and engineers who can apply machine learning technologies.

Learn to code

Undoubtedly, the skills needed for engineering such smart systems are must-have skills for this digital age. For aspiring engineers, learning a programming language is a good start. The following lists 10 programming languages that get most pull requests on Github, which roughly reflects current popular programming languages. If you want to pursue a career in computer science, it is a good idea to start learning a popular language.

Rank Programming Language Percentage
1 JavaScript 22.290%
2 Python 15.823%
3 Java 10.054%
4 Ruby 7.144%
5 PHP 7.003%
6 Go 6.792%
7 C++ 6.653%
8 C 3.728%
9 C# 3.406%
10 TypeScript 3.382%

However, there is no such thing as being too young to learn how to code. In United States, even children in elementary schools are learning how to code and the basic of computer programming. After all, programming at its heart is about problem solving. Even President Obama asked everyone in America to learn, calling for $4 billion to bring access to computing education to every child in America:

Even if you do not want to pursue a career in Computer Science, you can never get wrong with learning programming skills. There is a big demand for scientists and engineers with programming skills. If you are a physicist, you are probably using computer simulation to study complex systems. In biology, big data is becoming a big thing in research areas such as genome sequencing, protein folding and computational drug design.

> “I think everybody in this country should learn how to program a computer, because it teaches you how to think. I view computer science as a liberal art." – Steve Jobs

There is a Chinese proverb that says "Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." This proverb emphasizes that education should at the forefront when acquiring our life skills. Mankind has come a long way passing knowledge from generations to generations. First, we learnt how to use tools to get what was available to us. Then we learnt how to make tools that made better things from what was available to us. Now we evolve to making machines that will help us automate the whole process without human intervention. Ability to make such machines is an evolutional step and learning how to accomplish this is an essential skill making programming the new literacy. So my extension for the proverb is *"Teach a man how to fish and he will fish for a lifetime. Teach a man how to program and he will make a machine fish for him."*

Cheers!