You are on page 1of 10

What is a computer science degree?

In a nutshell, computer science degrees deal with the theoretical foundations of information
and computation, taking a scientific and practical approach to computation and its applications.
Computation is defined as any type of calculation or use of computing technology that follows
well-defined models (such as algorithms and protocols) in the practice of information
processing (which in turn is defined as the use of these models to transform data in
computers).
Computer science is considered by many of its practitioners to be a foundational science - one
which makes other knowledge and achievements possible. The study of computer science
involves systematically studying methodical processes (such as algorithms) in order to aid the
acquisition, representation, processing, storage, communication of, and access to information.
This is done by analyzing the feasibility, structure, expression and mechanization of these
processes and how they relate to this information. In computer science, the term information
refers usually to information which is encoded in bits and bytes in computer memory.
Some higher education institutions may use computer science (CS) as an umbrella term to
cover various specialist and vocational degrees involving computers and technology. You may
also find the term computer science being used to refer to information technology (IT) degrees,
although many institutions now distinguish between the two (exactly how and where they draw
this line varies). Make sure to check your chosen universitys course details closely.

Top universities for computer science


The QS World University Rankings by Subject includes a ranking of the worlds
top universities for computer science. The table can be sorted by location or based
on the different criteria used to compile the ranking (including academic reputation, employer
reputation and research citations). Below is a regional outline of the top universities for
computer science in different world regions, based on the 2013 QS World University Rankings
by Subject.

Top universities for computer science in the


US & Canada

Massachusetts Institute of Technology (US) tops the list of the worlds best computer science
universities, followed by second-ranked Stanford University. Carnegie Mellon University,
Harvard University and the University of California, Berkeley all make the global top ten, while
Princeton University follows close behind at 11th, the University of California, Los Angeles at
14th, and the University of Toronto (Canada) at 16th. Overall, the US and Canada have a strong
showing among the top universities for computer science, with 40 US universities and eight
Canadian featured in the top 200.

Top universities for computer science in


Europe
The University of Oxford (UK) is Europes highest ranking university for computer science,
coming in at 3rd in the world. Its historic rival, the University of Cambridge, is ranked 5 th while
Switzerlands ETH Zurich makes it into the top ten at 9th. The University of Edinburgh (UK) is
ranked 15th and Switzerland features again ranked in 17th place with the Ecole Polytechnique
Fdrale de Lausanne. The UK capitals Imperial College London at UCL follow at 18 th and
23rd respectively. At total of 82 European universities feature among the top 200 computer
sciences institutes.

Top universities for computer


science in Asia-Pacific
The highest Asian entry in the top universities for computer science is the National University
of Singapore (NUS), which is ranked 8th. The University of Hong Kong rounds off the top ten in
10th place, and Hong Kong features again with the Hong Kong University of Science and
Technology (HKUST) ranked 12th. Australias University of Melbourne follows in 13th place, and
the Asia-Pacific region dominates the latter half of the top 25: the Chinese University of Hong
Kong is ranked 19th, the University of Tokyo 20th, Australian National University 21st, Nanyang
Technological University 22nd, the University of Sydney 24th and the University of Queensland
25th. A total of 63 Asia-Pacific universities feature in the top 200.

Entry requirements for computer science


degrees

Entry requirements for computer science degrees usually emphasize further mathematics, with
some institutions asking for a background in physics. A background in psychology or sociology
can provide an added dimension to your studies, as you would have gained an understanding
of how humans process information, while other natural sciences may also be helpful.
Undergraduate applicants for computer science degrees will not usually be expected to have
formally studied computer science before university. However, it is recommended that you pick
up a programming language, to gain an understanding of what is involved. While generally
accepted beginner languages include Python and C++, Haskell, Java and Pascal are all
languages you may come across during your studies. On the other hand, you may find some
institutions discourage students from learning programming beforehand to avoid students
learning bad programming habits early on.
Some institutions offer joint courses, in which computer science is studied alongside subjects
such as mathematics, engineering and computing.

Computer science specializations


You can expect to begin your computer science degree by developing a foundation in
key computer science topics. Some core computer science courses you may cover
include theory of computation, fundamentals of computer science, compliers and operating
systems, information theory, basic programming, systems and architecture, software
development and testing, web applications and databases, algorithms and data structures, and

principles of computer hardware. Some mathematical concepts you may cover include formal
methods, Boolean algebra, discreet mathematics, set theory, probability, statistics, linear
algebra, differential equations and calculus.
You will then choose from an ever-growing range of specialist computer science topics,
including advanced internet, advanced programming, artificial intelligence and artificial life,
computational logic, computer graphics, computer modelling, computer networks, computer
security, computer vision, encryption, ethical hacking, GUIs, games development, humancomputer interaction, mobile applications, multimedia computing, networking theory,
professional issues and research methods, software engineering and design, and webdevelopment.
A closer look at some of the most popular computer science topics is provided below.

Programming language theory

Programming is an interdisciplinary topic, incorporating elements from subjects such as


mathematics, software engineering and linguistics.Programming language
theory involves looking at the design, implementation, analysis, characterization and
classification of programming languages and their individual features. Your introductory
courses will teach you one or more programming languages. Knowledge of more than one will
help you to better understand their individual strengths and weaknesses, which will in turn help
you to better engage with the challenges addressed by programming language theory. Youll
cover topics such as syntax, natural semantics, structural operational semantics and abstract
machine code.

Computer graphics

Studying computer graphics involves using computers to create still or moving two or
three dimensional images using specialized graphics hardware and software. Youll study how
to manipulate visual and geometric information using computational techniques, focusing on
mathematical and computational foundations of image generation and processing rather than
purely aesthetic issues. Youll need knowledge of physics, light and materials, as well as
knowledge of the mathematics of homogenous matrices, and of data storage, representation
and manipulations. Computer graphics makes the interaction and understanding of computers
and interpretation of data easier for both computing professionals and consumers. With
companies exploring increased use of trends such as gamification, the demand for computer
scientists with advanced knowledge of computer graphics has never been greater.

Human-computer interaction

The study of human-computer interaction (HCI) considers the challenges in making computers
and computations useful, usable, and universally accessible to humans, in order to prevent
unexpected problems caused by poorly designed human-machine interfaces. Coupled with
studies rooted in behavioral sciences, youll cover the study, planning and design of this kind of
interaction, with the understanding that a computer has an almost unlimited amount of uses
which can only take place in an open-ended dialogue between the user and the computer.
Youll approach the subject on the machine side, with computing techniques such as computer
graphics, operating systems, programming languages and development environments, and on
the human side, exploring communication, graphics, linguistics, social sciences such as
cognitive psychology, and user satisfaction.

Artificial intelligence
The study of artificial intelligence (AI) is closely related to the field of artificial life (AL),
and both are involved in synthesizing goal-orientated processes such as problem-solving,
decision-making, environmental adaptation, learning and communication using computers and
algorithms. While the field of artificial life examines systems and studies the complex behaviors
that emerge from these systems, artificial intelligence uses systems to develop specific
behaviors in machines and software. AI is a cross-disciplinary topic drawing on applied
mathematics, symbolic logic, semiotics, electrical engineering, philosophy (of mind),
neurophysiology and social intelligence. AI involves the automation of tasks (such as
evaluative and predictive tasks) in computer applications involving complex real-world data successful use of AI in this manner can act as a viable substitute for humans doing the same
tasks.

Algorithms and data structures

Algorithms are a step-by-step procedure for making calculations, used in data processing
and automated reasoning - this creates an output that is often, but not always,
predictable. Data structures provide a way of storing and organizing data in a computer so
it can be used efficiently - different kinds of data structures are suited to different kinds of
applications and may be highly specialized to specific tasks.

Together, algorithms and data structures underlie all other aspects of computer science, and
involve learning how to store and process data as efficiently as possible, while ensuring
algorithms are able to cope with the system in question. Youll learn things such as linked lists,
sorting and recursion, trees, hashing, greedy solutions, graphs and optimizing data
arrangements. You may also go on to the analysis of algorithms (determining the amount of
resources necessary to execute algorithms).

Computer science careers


Choose a computer science degree, and you could be working at the forefront of
the next greatest technological innovations. The increasing scope of computer
science means you have the choice to work in a wide variety of highly specialized
areas. With computer technologies playing an ever growing role in all aspects of
modern life, youre likely to find your computer science skills in high demand
across many different industries although, unsurprisingly, most graduates go into
roles within the computer industry. computer science careers include:

IT consultant

Working in partnership with clients, an IT consultant advises their client on the planning,
design, installation and usage of information technology systems to meet the clients business
objectives, overcome problems or improve the structure and efficiency of their IT systems. As
you represent a broad role in IT, your job will be similar to that of systems analysts, systems
designers and applications programmers, whose roles are more specialized but nonetheless
work on a consultancy basis.
On a typical day, you will meet with clients to determine their requirements, plan timescales
and resources with them, and spend time clarifying the clients current system specifications,
work practices and nature of their business. Youll analyze their IT requirements, develop
solutions, implement new systems (which may include designing and installing) and present

the results in a written or oral report, answering feedback, and then helping clients with the
subsequent changes and in organizing training for other users. You may also become involved
in sales and business development, identifying potential clients and maintaining good business
contacts.

Information systems manager

While a similar role to an IT consultant, an information systems manager is usually a


full-time member of staff, responsible for the secure and effective operation of computer
systems within their company. Youll be responsible (perhaps with the help of a team of IT staff)
for the entire upkeep of the ICT infrastructure within your organization, with typical tasks
involving the overseeing of installation of systems, ensuring systems are backed-up and that
the back-up systems are operating effectively, purchasing hardware and software, setting up
secure access for all users, including remote users, ensuring security of data from internal and
external attack, and providing IT support and advice for users.
Youll need to make sure the ICT facilities meet the needs of your company and are current,
while remaining within a set budget, and within all relevant software licensing laws. You may
also need an understanding of business and management principles in order to contribute to
organizational policy regarding quality standards and strategic planning in relation to IT.

Database administrator

A database administrator (DBA) is responsible for accurately and securely using,


developing and maintaining the performance, integrity and security of a computerized
database. The specific role is always determined by the organization in question, but is likely to
either mean being involved purely in database maintenance or specialized in database
development. The role is also dependent on the type of database and processes and
capabilities of the database management systems (DBMS) in use in your particular
organization.
Typically, this role includes ensuring data remains consistent, is clearly defined, easily
accessible, is secure and can be recovered in an emergency. Youll also be required to
troubleshoot should any problems arise, liaise with programmers, operational staff, IT project
managers and technical staff, provide user training, support and feedback and write reports,
documentation and operating manuals.

Multimedia programmer
A multimedia programmer is responsible for designing and creating multimedia
computer products, making sure they are functional and maintaining fidelity to a designers
specification. Youll use creative as well as technical skills to develop multimedia features
including text, sound, graphics, digital photography, 2D/3D modelling, animation and video.
Youll need to work with the designer to understand the design concept, discuss how it can be
technically implemented, identify the operational rules necessary, write efficient computer code
or script to make the features work, run tests of the product to test for bugs and rewrite or add
new code if necessary.
Youll also be available for technical support after the product is completed, and need to keep
abreast of industry news and developments in order to suggest and implement improvements.
You may work across platforms (such as the internet, interactive television, information kiosks,
DVDS, computer games consoles and mobile phones) or remain specialized in one platform.
Your role may overlap with similar IT roles such as web developer, games developer, systems
developer or software engineer, or you may find yourself working in tandem with these
professionals to achieve mutual goals.

More jobs with a computer science degree

Further jobs with a computer science degree include working in other areas of
development (such as web, games, systems, products, programs and software), as an analyst
(be it business continuity, systems or technical), as an administrator (of databases or networks)
or in an academic or industrial research capacity, contributing to the ongoing development of
computers and related technologies.
Computer science career opportunities are available in a huge variety of industry sectors and
organizations, including: financial organizations, IT companies, management consultancy
firms, software houses, communications companies, data warehouses, multinational
companies (IT-related, financial services and others), governmental agencies, universities and
hospitals. Other options include working as a technical author or trainer (explaining technical
information to non-technical audiences), or going in to teaching, journalism, management or
entrepreneurship.

http://www.topuniversities.com/courses/computer-science-information-systems/

You might also like