These courses are becoming more and more popular for two main reasons firstly because of their potential to unlock numerous career opportunities. Secondly because of the energy, buzz and excitement associated with being involved in cutting edge research within the IT field. Programmes will provide students with an education in computing, programming, software development and other key related areas of information technology.

Contemporary computer science degree courses should also keep you up to date with all the rapid pace of developments in the sector through a combination of high academic standards along with focused vocational relevance. Under the guidance of lecturers and administers, students will obtain not only the technical skills but also the academic qualifications required for a successful, highly paid and specialist career in IT.

Computer science degree overview
Computer scientists try to make computers, software and programmes smaller, faster, easier to use and more intelligent. The degree covers a broad field of computing, programming and other related areas of information technology. Most universities courses are a combination of high academic standards along with practical vocational relevance, that are available as Bachelors (B.Sc.), Masters (M.Sc.) and Doctorates (Ph.D.). Good courses will give students a firm foundation in a wide number of computing skills like human computer interaction, robotics and agile methodologies. They will also educate undergraduates with a comprehensive knowledge of the theoretical basis and practical applications of computer science. Many courses also tend to touch on hardware, giving students a basic understanding of motherboards, memory and processors etc.

All computer science degrees will involve some introductory level programming being taught, with the most popular languages at the moment being Java and C++. If you have little or no knowledge of computing then it is advisable to try to learn the basics of at least one programming language before you start any degree course. Although you will not be disadvantaged if you have no programming ability it can help.

Much of what you learn on the course will be based on mathematical concepts and the degree will touch on related areas such as statistics, Boolean basics, linear algebra and also calculus.

It is also worth noting that due to the nature of the subject many computer science departments will often have close links to other university departments. The benefit of this is that you may be exposed to  other related fields which other subjects could not do.

Due to the changing nature of technology it is possible to specialise in various subjects such as Internet Systems, Hardware or software development, E-Commerce or Software Engineering etc. You will be taught in the following methods:

  • Lectures and tutorials
  • Working on software design assignments

computer science degree assessment
Modules are assessed by examinations, continuous assessment or a combination of both. Some supervised practical element is also included in the continuous assessment, as well as independent study and report writing. Your individual project marks and module results will all contribute to your degree final grade.

Entry and admission
Typical entry requirements are a minimum of 200 UCAS tariff points, plus GCSE Maths and English Language at grade C.

Having prior programming skills is preferred and a good knowledge of maths is essential. If you posses a understanding of either or both of these topics then it will make everything a lot easier to understand. If you don’t then do not worry as many courses are tailored to the needs of individuals from non technical backgrounds.

Computer science degree structure and typical course content

Year 1 modules

Programming principles and practise
Programmes are at the heart of what makes computers adaptable, they are in essence detailed instruction to computers and software to perform certain functions. This is a highly technical subject which is aimed at giving students a introduction to the fundamental concepts and techniques of software development. On this course you will discover the basics of writing useful, proper and efficient code and gain a insight into simplifying programming tasks. Areas of study may include:

  • Programming language features.
  • Simple graphics.
  • Software development tools.
  • Introduction to various programming languages like C++, SQL and Java etc.
  • Writing, running and debugging programmes.
  • Introduction to programming jargon.
  • Object orientation
  • Object-Oriented Analysis and Design (OOAD)
  • Understanding simple code.
  • Basics of computer hardware.
  • Software engineering.
  • Source code.
  • Carrying out a requirements analysis study.
  • Coding.
  • Software testing
  • Software integration
  • Troubleshooting
  • Testing existing programmes
  • Programming paradigms
  • History of computer science
  • Application software
  • Event-driven programming
  • Software architecture

Database Management Systems
You will be studying the computer programmes and software that are used in the creation and maintenance of database systems. DBMS is a group of software programmes that allow users to store, change, delete and recall information from the database. You will learn all about how data and information is stored in a organised and efficient manner, so that it takes up the minimum amount of memory space and can be accessed quickly by users. Areas of study may include:

  • How a Database Management Systems organised information internally.
  • The process of requesting information from a database.
  • A brief introduction to Microsoft Access, MySQL, Microsoft SQL Server and Oracle databases.
  • Network structures.
  • Object orientated structures.
  • Database query language.
  • Query ability.
  • backup and replication.
  • Data Security.
  • Rule enforcement.
  • Data integrity.
  • Change and access logging.
  • Transaction processing.
  • Information retrieval.
  • Relational database management systems (RDBMS)

The principles of data management
A subject where you will learn the basics about how to collect, organise, maintain and protect information. Explore the need of organisations to logically organise data and the benefits to their business. The subject includes a introduction to various database administration topics such as architecture, performance tuning, recovery, defragmentation and disaster planning. Areas of study may also include:

  • Database design.
  • The programming languages used in managing databases.
  • How to manage data effectively.
  • Identify the mechanisms required for good data management.
  • Introduction to Structured Query Language (SQL).
  • Issues to do with security and privacy.
  • Data governance tools to manage risk and have control over management processes (including business process management).
  • Quality control, including monitoring and improving procedures.
  • Data mapping and cleansing.
  • Data integration.
  • Database administration.
  • Document, Record and Content Management
  • Information architecture.
  • Complex queries.
  • Data warehousing.
  • Relational Database Management Systems (RDBMS)

Discovering interaction design
Look into the interaction as well as the flow of information between not only computers and users but also hardware and software. The ultimate aim of all interaction if to make software and computers more responsive to the requirements, needs and tasks of users. Good user experiences can help to improve efficiency as well as help companies and individuals meet their goals quicker. Other possible areas of study:

  • Designing systems that users can easily interact with.
  • Human Computer Interaction (HCI).
  • Forms on websites, used to gather information from site visitors.
  • Man Machine Interaction (MMI).
  • Computer graphics.
  • Graphical User Interfaces (GUI).
  • Design principles.
  • Design methodologies
  • Group interfaces.
  • Designing for people.
  • User behaviour.
  • Solving problems.
  • User experience.

Java programming
This topic will focus on giving students a introduction to the Java programming language. Obtain a clear understanding of the basics of this popular and widely used general purpose and object orientated programming language. It is a language that can be used to develop application software as well as on website development. Areas of study may include:

  • The characteristics of Java
  • Introduction to writing Java source code.
  • Boolean operations
  • Java platforms
  • Implementation
  • JavaScript
  • User interaction
  • Objects
  • Constructors
  • Applications and applets
  • Learn why Java is suited to the development of the Internet and Word Wide Web.
  • Blocks, Expressions and Statements.
  • Working with strings
  • java source code files and java extensions.
  • Public and private variables
  • JAR files
  • Animation
  • Threads
  • Creating Graphical User Interfaces (GUI)
  • History of Java, including how it was first developed by Sun Microsystems.
  • The advantaged of Java over other object oriented programming languages like C++.

Introduction to Networks, Architectures and Operating Systems. 
Module content will include learning about how computers and operating systems and interlinked and networked for greater efficiency and information sharing. The course will also explain how operating systems run computers and how architectures help to stabilise and build them. Areas of study may include:

  • Communications protocols
  • Local Area Networks (LAN)
  • Wide Area Networks (WAN)
  • Intranets and extranets
  • Hubs, switches and Routers.
  • Firewalls
  • Network security
  • Peripheral devices like monitors, keyboards etc.
  • Software platforms.
  • The various different operating system types.
  • Multitasking and multiprocessing.
  • Warm boots and cold boots.
  • The basics of Linux, UNIX, Macintosh and Windows operating systems.
  • Security updates and system patches.
  • The difference between mainframe and desktops.

Mathematics for computing.
Gain up to date knowledge on mathematical field that are related to modern computing. This discipline offer a wide range of subjects to choose from discrete mathematics, probability and statistics programming right through to website design. Areas of study may include:

  • Numerical methods
  • Matrices
  • Calculus and Algebra
  • Numerical analysis
  • Mathematical software
  • Mathematical statistics
  • Scientific computing
  • Numerical calculations
  • Efficient algorithmic developments
  • Logic
  • Diagonalization
  • Management Mathematics
  • Algorithms
  • Data Structures
  • Basic linear algebra
  • Models for computation
  • Vector spaces
  • Data analysis
  • Matrix operations
  • Encryption and Data Compression

History of Computation
Delve into the background of how computers came to become a dominant and essential part of the business world and also everyday life. Research the beginnings right from the Z1 in the 1930’s right through to today’s latest super computers. Other possible areas of study;

  • Computer games
  • Theory of computation.
  • Reversible computation.
  • Hypercomputation
  • The limits of computation.
  • The future for computers.
  • History of the Internet.
  • History of MS DOS
  • History of the Microchip.

Software Development: Tools and Techniques
On this module learn the fundamentals of building effective software systems and also examine the various tools that are available to programmers. Other possible areas of study :

  • Software engineering
  • Object orientated programming
  • Fundamentals of computing
  • Object orientated application development
  • Human computer interaction
  • Computer architecture.
  • Prototyping
  • Software testing
  • Maintenance and bug fixing.
  • Debugging tools
  • Application building tools
  • Memory usage tools
  • Integration tools
  • Text editors
  • Source code generation tools

Mathematics for Software
Learn how software development is reliant on the use of mathematical calculations. Areas of study on this topic may include:

  • Basic maths
  • Algebra
  • Fractions
  • Percentages
  • Ratio and proportion
  • Basic statistics
  • Linear equations
  • Geometry
  • Trigonometry
  • Calculus
  • Mathematical modeling

Introduction to the tools and techniques for managing large-scale IT projects.
Gain a introduction into the project management processes and procedures used in planning, organising and managing the IT projects. A project can either be one of three things, firstly a one off effort to produce a specific result or achieve a certain goal. Secondly it can be a ongoing process or long term programme or thirdly it can be a series of interlinked projects all running together. Areas of study may include:

  • Project initiation, this will include setting the goals, developing a project plan, feasibility studies, setting out the nature and scope of the project.
  • Planning and development, this will include; Choosing the project team, quantifying the resources that are needed, Deciding on a mission statement, Creating a schedule, Risk planning, Working out and estimating the cost and time involved in the project.
  • Execution which will involve; delegating work and designing the processes required to complete the work and project; coordinating and controlling resources.
  • Performance monitoring which will include; dealing with problems that occur, identifying potential hurdles before they occur, taking corrective action when required, monitoring ongoing project activities and ensuring they are to schedule and budget.
  • Project closure which involves finalising the administrative and documentation processes for the project.
  • Investment analysis.
  • Basic understanding of PRINCE2.
  • Project follow up.
  • Contingency planning.
  • Support and maintenance.
  • How to motivate and encourage the project teams.

The module will teach students how to avoid:

  • Setting unrealistic deadlines.
  • Work towards undefined deadlines.
  • Poor communication between employees.

Studying usability and evaluation principles.
Get to know the basic techniques that should be used to enhance the visitors and users experience. For instance learn the importance of using consistent navigation throughout the site as well as plain simple English to communicate quickly and effectively with users. The aim being twofold, firstly to create websites or software which people can effortlessly navigate through and quickly find what they are looking for. Secondly to achieve subjective satisfaction, where your aim is to try to make the user ‘like’ your system or site and thereby encourage them to come back. Other areas of study may include:

  • Error prevention
  • Consistency of standards
  • Designing for targets
  • Usability testing
  • Integrity of information
  • Efficiency of use
  • Memorability

Year 2 modules

Introduction to computer graphics and games.
Software processes.
Foundations of Artificial Intelligence
High Integrity Systems
Concepts of Programming Languages
Artificial Intelligence Applications
Internet Computing
Operating Systems and Concurrency
Software development approaches
Strategy and security, including information security and business continuity.
Decision making

Year 3 modules

3D Graphics and games
High Performance Microprocessors
Software engineering.
Designing Algorithms
Scientific Modelling and Simulation
Pattern Recognition and Neural Networks

Other areas of study

  • Mathematical principles
  • Telecommunications
  • Computer science
  • Principles of Computer Hardware
  • Mobile computing
  • Open source computing
  • compilers and operating systems
  • Management of computing projects
  • Cybernetics
  • Computational finance
  • Solving complicated problems using computers and algorithms.
  • Storing and processing data as efficiently as possible.
  • Web development
  • Object orientated programming
  • Algorithms and Data Structures
  • Artificial life
  • Computer graphics
  • Developing security techniques
  • Quantum computer science
  • The design and evaluation of algorithms.
  • Data mining
  • 3D graphics
  • Advanced modeling

A computer science degree course will teach students

  • How to design, build and analyse computer systems.
  • The importance of business principles and project life cycles.
  • The skills needed to work successfully as a member of a project team.
  • Fundamentals of programming.
  • Develop good interpersonal skills and work within a team that includes non technical experts.
  • How to develop software applications that are more useful to businesses and individuals.
  • To develop their problem solving and creative skills.
  • A understanding of legal concepts like copyright and data protection.
  • How to work with abstract concepts and symbols.
  • Building systems that are safe, effective and meet time and cost.
  • How to write good, well structured programs that run fast and reliably.
  • Write their own programs in connection with taught courses.
  • Work on larger programming projects over several weeks and writing a professional dissertation about it.

Questions to ask about the course
If you have a good idea of where you want to go then it is advisable to investigate first and only then choose modules and subjects within your course that suit your future aspirations.

  • Are there any sponsorship and scholarship opportunities available.
  • Do the courses reflect recent developments in the computing industry.
  • Does the universities IT department work in partnership, on joint projects or as  a consultancy to the technology industry.
  • Is the degree accredited by the British Computer Society and the Institution of Engineering and Technology.

How long does the degree course last
Most full time course will last the standard three years.

Career prospects and relevancy
With technology now touching all areas of modern life from mobile phones, flat screen televisions right through to cars, the demand for capable and qualified computer scientists has never been greater. This demand for suitable CS graduates is expected to continue exceeding supply for the foreseeable future. With the ever increasing importance of software and computer systems in the world of business, public sector and the internet, employment opportunities and earning potential for graduates have never been better.

The course will provide students with the necessary skills for a number of computer based jobs and will certainly increase the professionalism of your job application. Also remember that many of the skills you learn will be transferable to a number of other careers and fields.

With the rapid evolution of computer technology numerous employment studies have predicted that competent and qualified computer science graduates will be in demand for many years to come. Typical positions open to graduates include;

  • systems analysts
  • computer scientists
  • database administrators
  • web designers

Personal statements
Computer science personal statement
Personal statement examples

Technology degrees
Web design degree

Online degrees
Computer science degree online
Online degree courses

More science degrees
Actuarial science degree
Animal science degree
Biomedical science degree
Forensic science degree
Medical science degree
Neuroscience degree
Paramedic science degree
Political science degree
Social science degree
Sports science degree
Veterinary science degree
Veterinary degree

 

Student CV examples
Student CV templates (over 30 free professional written examples)

More career resources
Cover letter examples (over 50 expertly cover letter examples)
CV templates (over 300 free professionally written samples)

University resources
Degree abbreviations
Degree classification 
Online degree courses 

Student resources
Computer training courses
Essay writing
Graduate internships
Introduction to graduate fasttrack schemes
Revision timetable
Revision tips
Student accommodation
Student loan company
Study skills
UCAS personal statement
University interview questions
University courses

Career links
IT CV template examples