Skip to main content Skip to navigation

Copy of Content blocks for course page

Edit the course information

A (no definitions) B (no definitions) C (no definitions) D (no definitions) E (no definitions) F (no definitions) G (no definitions) H (no definitions) I (no definitions) J (no definitions) K (no definitions) L (no definitions) M (no definitions)
N (no definitions) O (no definitions) P (no definitions) Q (no definitions) R (no definitions) S (no definitions) T (no definitions) U (no definitions) V (no definitions) W (no definitions) X (no definitions) Y (no definitions) Z (no definitions)

#

0
Computer Science BSc (G400)
0a

Find out more about our Computer Science degree at Warwick

0c
https://www.youtube.com/watch?v=a5fkxT-thSs
0-revisions


Page updates

We have revised the information on this page since publication. See the edits we have made and content history.

2a
G400
2b
Bachelor of Science (BSc)
2c
3 years full-time
2d
26 September 2022
2e
Department of Computer Science
2f
University of Warwick
3a

Computer Science is one of the most established courses in the UK, designed for students with a talent for mathematics and a passion for technology.

At Warwick you will work closely with industry leaders, enabling you to develop industrially relevant subject knowledge and transferable skills.

This course is accredited by the British Computer Society.
3b

If you have a talent for mathematics and a passion for technology, this exciting, accredited course will enable you to acquire technical skills in software engineering, algorithm analysis and system design, as well as experience of project management, research and scientific methods.

As one of the most established courses in the UK, our focus is on the principles and underpinnings of computer science, an understanding of which will give you the ability to adapt to change and new developments throughout your career.

In short, while we teach using many of the latest technologies, our emphasis on fundamentals will prepare you to engage with any technology. You will work closely with industry leaders, enabling you to develop industrially relevant subject knowledge and transferable skills, such as teamwork, communication and planning. In your third year, you will undertake an individual project, where you will apply your knowledge to an area of your choice under the supervision of world-leading academics.

The course is taught from first principles, which means you do not need prior knowledge of computer science or programming before you arrive. Our only requirements are that you have a strong background in mathematics and the desire to succeed, we will support you through our commitment to teaching excellence and a stimulating academic community.

You may choose to spend a year in industry, research, or study abroad between Years Two and Three of your degree. If you choose to study abroad or take a year in industry, this will be reflected in your degree title.

3c

Your first year lays the foundation for a deeper knowledge of Computer Science through the study of advanced mathematics, computer architecture and programming.

Your second year will then build on this knowledge to explore areas such as operating systems and computer networks, database systems and software engineering.

In your third year, you will undertake an individual project, where you will apply your knowledge to an area of your choice under the supervision of world-leading academics. Throughout the course, you can select from a range of optional modules, including those in areas such as artificial intelligence, computer graphics and computer security.

3d

Your courses offer a balance of core material delivered through lectures, small-group seminars and hands-on laboratory sessions. Approximately a quarter of your time is spent in timetabled classes, with the remainder being used for private study, completing assignments and projects, and practical work in the dedicated computing laboratories, which are open 24/7.

3f

On average, you will have 20 hours of contact time a week including:

  • 2 to 3 hours of lectures for each module each week
  • 1 to 2 hours of labs and seminars for each module each week.

This should be supplemented by 20 hours of independent study.

3g

Your performance on most modules will be assessed by a combination of coursework and written examination. The coursework may be individual or group work involving programming, research, writing and presentation.

Your final-year project work is fully assessed by a presentation and project reports.

Each year contributes to the final degree classification, typically in the ratio of:

  • First year 10%
  • Second year 30%
  • Final year 60%
3h

Study abroad

You can apply to spend a year studying at one of our partner institutions overseas between Years Two and Three of your degree.

We have an established exchange programme with the Hong Kong University of Science and Technology, which provides opportunities for our students to experience teaching and learning at another world leading institution.

In addition to benefitting from a rich cultural experience, students returning from studying overseas exhibit an international profile that is attractive to potential employers.

3i

Placements and work experience

If you want to spend a year in industry, we support you by promoting opportunities, hosting departmental careers fairs and offering one-to-one sessions with our departmental careers advisor. If you are an Intercalated year student, you will be supported by your personal tutor and our Industrial Liaison Team during your year in industry. Students working in the UK are visited by academic representatives to review their development during the year.


4a

A level typical offer

A*A*A to include A in Mathematics.

A level additional information

Offers normally exclude General Studies and Critical Thinking at A level.

A level contextual offer

We welcome applications from candidates who meet the contextual eligibility criteria. The typical contextual offer is AAA including A in Mathematics. See if you’re eligible.

General GCSE requirements

Unless specified differently above, you will also need a minimum of GCSE grade 4 or C (or an equivalent qualification) in English Language and either Mathematics or a Science subject. Find out more about our entry requirements and the qualifications we accept. We advise that you also check the English Language requirements for your course which may specify a higher GCSE English requirement. Please find the information about this below.

4b

IB typical offer

39 with 6, 6, 6 in three Higher Level subjects to include 6 in Higher Level Mathematics ('Analysis and Approaches' only).

IB contextual offer

We welcome applications from candidates who meet the contextual eligibility criteria. The typical contextual offer is 38 including 6 in Higher Level Mathematics ('Analysis and Approaches' only). See if you’re eligible.

General GCSE requirements

Unless specified differently above, you will also need a minimum of GCSE grade 4 or C (or an equivalent qualification) in English Language and either Mathematics or a Science subject. Find out more about our entry requirements and the qualifications we accept. We advise that you also check the English Language requirements for your course which may specify a higher GCSE English requirement. Please find the information about this below.

4c

We welcome applications from students taking BTECs alongside A level Mathematics.

Applications are considered on an individual basis and subjects with overlapping curricula will only be counted once.

5a

Year One

Programming for Computer Scientists

On this module, whatever your starting point, you will begin your professional understanding of computer programming through problem-solving, and fundamental structured and object-oriented programming. You will learn the Java programming language, through practical work centred on the Warwick Robot Maze environment, which will take you from specification to implementation and testing. Through practical work in object-oriented concepts such as classes, encapsulation, arrays and inheritance, you will end the course knowing how to write programs in Java, and, through your ability to analyse errors and testing procedures, be able to produce well-designed and well-encapsulated and abstracted code.

Design of Information Structures

Following on from Programming for Computer Scientists, on the fundamentals of programming, this module will teach you all about data structures and how to program them. We will look at how we can represent data structures efficiently and how we can apply formal reasoning to them. You will also study algorithms that use data structures. Successful completion will see you able to understand the structures and concepts underpinning object-oriented programming, and able to write programs that operate on large data sets.

Mathematics for Computer Scientists I

A sound knowledge of mathematical reasoning is an essential skill for computer scientists, so on this module you will be provided with sufficient professional knowledge that will enable you to understand terminology and the role of formal definitions, and mathematical functions in problem-solving. You will become familiar with day-to-day mathematical operations, including probability (Bayes’ theorem, standard deviation and variance), propositional and predicate logic (Boolean operators, truth values and various laws of logic), elementary set theory and graph theory (including Eulerian and Hamiltonian graphs), relations, and the axiomatic method.

Mathematics for Computer Scientists II

On this module, you will gain sufficient mathematical knowledge to understand common mathematical operations and functions in computer science. By the end of the module, you will be expected to be able to carry out mathematical proofs, analyse vector spaces and use linear equations, and to perform operations of the differential and integral calculus with confidence and precision. You will also learn the basics of probabilistic analysis and apply the methods in practical examples. Specific topics you will cover include linear and matrix algebra, sequences and series, calculus, and abstract algebra.

Computer Organisation and Architecture

You will gain a fundamental understanding of the functional components of a computer system, and how they are organised. You will focus on hardware and how it performs during the execution of software operations. You will also develop practical skills in the use and construction of computer components, and their interface with microprocessors. By the end of the module, you will be expected to understand the operation and organisation of electronic logic elements, the architecture of simple microprocessors, input/output mechanisms, memory systems and hierarchies, and digital circuits and their interface with microprocessors.

Professional Skills

In your first term, you will gain a basic understanding of operating systems, together with a working knowledge of the computing systems and their associated tools and applications that will be used within the Department of Computer Science. With these foundations in place, you will then develop your communication skills, both in writing and orally, with due attention paid to appropriate academic and technical language. You will complete the course studying ethics and behaviour, looking at the place of computers in society and the legal aspects of computing.

Year Two

Operating Systems and Computer Networks

On this module, you will spend equal time studying the fundamental concepts of modern-day operating systems and computer networks respectively. With a practical bent, this will mean analysing the generic requirements, structure, operation and administration of a modern operating system. Whilst analysing, designing and writing programs in the light of network requirements and protocols; such as system interfaces, concurrency, deadlock detection and recovery, and security threats. Turning to networks, you will learn the relevant factors relating to LANs and WANs and wireless networks, client-server systems, routing algorithms, socket programming, and network management relating to performance, security and monitoring.

Database Systems

How does the theory of relational algebra serve as a framework for the efficient organisation and retrieval of large amounts of data? During this module, you will learn to understand standard notations (such as SQL) which implements relational algebra, and gain practical experience of database notations that are widely used in the industry. Successful completion will see you equipped to create appropriate, efficient database designs for a range of simple applications and to translate informal queries into formal notation. You will have learned to identify and express relative integrity constraints for particular database designs, and have gained the ability to identify control measures for some common security threats.

Formal Languages

You will gain a fundamental understanding of formal languages and how the Chomsky hierarchy classifies them. You’ll study techniques for exploring the regularity of languages using closure properties and pumping lemmas, whilst also considering automata models, alongside the notion of computability. These concepts are central to computer science, and completion will see you able to specify between, and translate, various forms of formal language descriptions. You’ll learn methods of lexical analysis and parsing, and be able to argue whether a formal language is regular or context free. The teachings will discuss Turing machines and philosophical concepts such as decidability, reducibility and the halting problem.

Algorithms

Data structures and algorithms are fundamental to programming and to understanding computation. On this module, you will be using sophisticated tools to apply algorithmic techniques to computational problems. By the close of the course, you’ll have studied a variety of data structures and will be using them for the design and implementation of algorithms, including testing and proofing, and analysing their efficiency. This is a practical course, so expect to be working on real-life problems using elementary graph, greedy, and divide-and-conquer algorithms, as well as gaining knowledge on dynamic programming and network flows.

Software Engineering

Centred on teamwork, you will concentrate on applying software engineering principles to develop a significant software system with your peers from feasibility studies through modelling, design, implementation, evaluation, maintenance and evolution. You’ll focus on design quality, human–computer interaction, technical evaluation, teamwork and project management. With a deeper appreciation of the stages of the software life-cycle, you’ll gain skills to design object-oriented software using formal modelling and notation. You will be taught the principles of graphical user interface and user-centred design, and be able to evaluate projects in the light of factors ranging from technical accomplishment and project management, to communication and successful teamwork.

Logic and Verification

The theory and practice relating to the reliability of systems forms a vital part of computer science. So, from this module, you’ll develop your understanding of mathematical logic, and learn to apply it when specifying and verifying computing systems. Studying algorithms and proof calculi for verification, as well as associated techniques, such as propositional and predicate logic. You will be able to comprehend and construct proofs, understand and compare the semantics of a variety of logics, and understand basic algorithms, along with formal tools for verification.

Year Three

Individual Project

On this project-based module you will gain experience in designing, developing and implementing a significant project, under supervision. From submission of the outline and detailed specification, you will produce regular progress reports throughout, before presenting your final results. This is an excellent opportunity to develop important employability skills, including independent learning, self-discipline, organisation and time management.

5b
  • Artificial Intelligence
  • Computer Security
  • Cyber Security
  • Functional Programming
  • Mathematical Programming 1
  • Visualisation

Explore our full range of modules

top