Professional Documents
Culture Documents
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.
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.
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.
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.
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 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).
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.
Database administrator
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.
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/