Getting Off the Ground
Computer science, as an independent discipline, was born in the early 1960s. Its roots lie among the interdisciplinary branches of mathematics, electrical engineering, physics and management information systems.
Pick One or Maybe Two
Computer Science is home to several influential specialisations.
The first and foremost is a theoretical computer science that delves into data structures and algorithms, theory of computation, information theory and coding theory, programming language theory, and formal methods.
If you have a knack for coding and advanced computational thinking, this is a great choice for you!
Then comes the realm of computer systems, which deals with computer architecture and engineering, computer performance analysis, concurrency, distributed computing, computer networks, computer security and cryptography, and databases.
Computer applications include computer graphics and visualisation, human-computer interaction, scientific computing, and artificial intelligence. Individuals with high creativity and visual-spatial skills will thrive in this area.
Software Engineering is more distinctly known because of its ingenuity. It covers the application of engineering to software development in a systematic method.
Pioneers of Computer Science
Alan Turing (The Father of Computer Science) formalised the concepts of "algorithm" and "computation" with his Turing Machine and developed the British Bombe machine, which helped crack Germany's Enigma code during WW2.
Grace Hopper invented the compiler, coined the term ‘debugging’ and created Cobalt, one of the first and widely used programming languages.
Shaun Fanning, who invented the P2P (peer-to-peer) file-sharing, is followed by James Gosling and his team that invented Java in 1995, one of today’s most prolific and powerful coding languages.
With the onset of the twentieth century, geniuses such as Steve Jobs received more recognition worldwide due to his revolutionary approach towards mobile and personal computing.
Computer Scientists - What Do We Owe Them?
With almost all sectors from scientific research to health development to banking to communications relying on data and software programs, we owe the faster, more convenient and more connected digital age we live in today to Computer Scientists.
Potential Pros & Cons of Freelancing vs Full-Time Employment
Freelancing Computer Scientists have more flexible work schedules and locations. They have full ownership of the business and can select their projects and clients. However, they experience inconsistent work and cash flow, which means more responsibility, effort and risk.
On the other hand, a full-time Computer Scientist has company-sponsored health benefits, insurance, and retirement plans. They have job security with a fixed, reliable source of income and guidance from their bosses. Yet, they may experience boredom due to a lack of flexibility, ownership, and variety.
When deciding between freelancing or being a full-time employee, consider the pros and cons to see what works best for you.