Many people applied for computer science with hope that it’s similar in context to one of those regular courses offered by computer training schools. It is not until they are greeted with some coding stunts in programming courses that they realize they are in for a higher drill. Even towards the end of their study, some final year students still ask questions like: “What is Computer Science all about?”. After reading this, I think you should be better informed about this profession.
What Exactly Is Computer Science?
Simply put, Computer Science is the science of using computers to solve problems. Mostly, this involves designing software (computer programs) and addressing fundamental scientific questions about the nature of computation but also involves many aspects of hardware and architecting the large computer systems that form the infrastructure of commercial and government enterprises. Computer scientists work in many different ways: pen-and-paper theoretical work on the foundations and fundamentals, programming work at the computer and collaborative teamwork in doing research and solving problems.
What Computer Science is not
Computer Science is not about using software, such as word processors (like MS Word, spreadsheets (like MS Excel),) or image tools (like Photoshop). Many software packages are complicated to master (such as Photoshop or Excel) and it is true that many jobs depend on expertise in using such tools, but computer science is not about using these tools.
It is not about expertise in computer games, it is not about writing content in websites, and it is not about not about assembling computers or knowing which computers are best buys.
Computer Science is about the principles behind building the above software packages, about the algorithms used in computer games, about the technology behind the internet and about the architecture of computing devices.
What is Information Technology, and how is it different from Computer Science?
While computer science has become a somewhat precise term as a field of study (like Civil Engineering), Information Technology (IT) is a somewhat vaguer term. The commercial world uses the term IT in a variety of contexts, generally, to mean "anything to do with computers".
However, computer science generally denotes a professional with computer science training, one who is involved in the creation of software and software systems. Most educational programs are in computer science, which has a long tradition of accreditation, professional affiliation (such as CPN) and well-defined curricula. In contrast, while some schools offer IT curricula, these are less well-defined, and probably not as rigorous as computer science curricula and degrees.
The core areas of computer science include software engineering, graphics, networks, databases, multimedia and artificial intelligence.
What is software?
Computer science is not about building keyboards or monitors or the cables that connect your PC to your printer. While these are important to the functioning of a computer, as is electricity, computer software consists of interacting programs each of which is a collection of instructions capable of being executed on a computer. So, first we need to think of a computer as a "dumb" machine that knows how to execute elementary "instructions" (add this, multiply that). Then, software programs are collections of instructions that achieve higher-level end objectives. In a sense, the "intelligence" lies in the software and it is the difficulty of creating reliable, intelligent software that has made the young discipline of computer science into the large, diverse field it is today. Software systems now pervade almost all aspects of life, including high-end entertainment (such as the computer-generated dinosaurs in Jurassic Park), mission-critical control systems (factories, robots, aircrafts, space-travel), information systems (banks, websites, medical databases, government systems) and research tools (earthquake simulators, drug-design software, astronomy databases).
What is programming?
Programming is the intellectual endeavor of creating software programs. Part of it involves thinking (design, analysis), part of it involves coding (translating a design into instructions via a programming language such as Java or C++) and part of it involves testing (subjecting software to a battery of tests to make sure it works).
Is Computer Science mostly programming?
Far from it! Initially, it may seem that it is all about programming because it is the skill whose teaching we start with (because it's fun, it's challenging and it's a prerequisite to further computer science). However, most undergraduate curricula devote 3 to 5 courses exclusively to programming. The remaining eight or more other computer science courses use a student's programming skills acquired earlier, but most concentrate on some aspect of computer science central to the discipline. So, what are these areas of computer science?
You can: learn about how computers are built (architecture), the principles behind important "infrastructure" software systems (operating systems, databases), study classic algorithms and learn to design your own, learn how compilers and language translation is done, study specialized computer science areas such as artificial intelligence, parallel computing, networks, graphics, bioinformatics, robotics, education or multimedia.
Why is computer science so hard?
Initially, it does seem that way. The reason is that, programming is challenging and is introduced "cold" to students in a first computer science course. Programming is an intellectual skill that takes time to master, usually about 4-5 courses. While there are always students who appear to find programming easy, most of us learn skills step-by-step over time.
Can anyone with no musical background learn a musical instrument in one semester? Can you learn to speak a foreign language fluently with a single course? Many students tend to give up because of a combination of "others seem to get it and I don't" and "why isn't it coming to me?". Any skill acquisition is hard if viewed negatively. But like any skill acquisition, programming can be acquired with patience and persistence. And once the skills are acquired, the supposedly "super-smart" students who "got it" earlier don't seem that unreasonably smart anymore.
What does it take to be successful in Computer Science?
Computer science is about a unique kind of problem-solving: creatively solving problems using computation. If you are creative, if you like puzzles, if you like problem-solving in other domains (engineering, mathematics, sciences), if you are comfortable with abstract thinking, if you like working at the intersection of multiple disciplines - if any of these apply to you, then Computer Science is for you.
What kinds of careers are open to me with a degree in Computer Science?
Many people incorrectly believe that a computer science career is all about programming. Most career paths in computer science involve people skills and interacting with people. Beyond an entry-level position as a software engineer, almost any corporate position requires working with people. The creation of software is most often a team effort, and software companies are organizations of people like any other type of company. Thus, if your career path is typical, you will not be alone in your cubicle staring at the screen.
Photographer & Illustrator
Photographer & Illustrator
Photographer & Illustrator
Photographer & Illustrator
What do I do next if I want a career in Computer Science?
The IT industry is well known for its wide range of job titles. As a computer science graduate, you may either work for an IT firm, or just about any organization that has computer installations like NNPC, Banks, Schools, etc.
You may also set out on your own (all you need to start is your laptop and your “head”).
Whichever path you eventually choose, here are few of the available IT jobs today.
The work of a software designer includes designing and programming applications that solve particular day-to-day problems. The work can involve talking to clients and colleagues to assess and define what solution or system is needed.
Network engineering involves setting up, administering, maintaining and upgrading communication systems, local area networks and wide area networks for an organization.
Web development is a broad term and covers everything to do with building websites and the entire infrastructure (programming, scripting and database) that sits behind them.
In summary, Computer Science is a profession that offers you the freedom of starting off on your own, or working for a reputable IT firm. Either way, your prospects of earning an honest living is guaranteed given the numerous unsolved business problems today. All that is required on your part is the diligence to master the art, through your class lectures, and mostly through concerted personal efforts on your own part.