Computing

Computer Science - BSc (Hons)

This is an archived course for 2021 entry
2023 courses

From the rise of AI to the advent of the internet of things, Computer Science offers you excellent employment prospects and well-paid careers to play your part in the innovations of tomorrow’s world. In this course, we teach you the fundamentals of computer science as well as giving you the opportunity to specialise in an area of your choice.

Overview

Our courses are taught by leading researchers who are experts in their fields. The wide-ranging expertise of our teaching staff means you have the chance to explore a large choice of subjects, from artificial intelligence and computer security to parallel systems and mobile computing.

The School of Computing is also home to authors of leading textbooks and are we famed for our cutting-edge research in specialist areas such as cyber security and artificial intelligence.

This programme has full Chartered IT Professional (CITP) accreditation from BCS, The Chartered Institute for IT.

Our degree programme

Our course focuses on the technical aspects of computer science. You will learn:

  • how to code in several languages, starting with the Java programming language, which is widely used in industry across a range of applications including mobile devices
  • how to build on programming skills by putting into practice the principles and techniques that underpin the algorithms and systems shaping our world today, from artificial intelligence, computer security, network technology, software engineering, to human-computer interaction
  • how to develop software in a variety of ways, from small-scale exercises to a major software project

By taking a broad range of compulsory modules in your first and second years, our flexible programme will allow you to select from a variety of options in your final year of study, so it's ideal if you want to keep your options open.

You can also gain experience in teaching with our Computing in the Classroom module. This gives you the opportunity to apply your knowledge in a school setting.

Kent student Dan talks about his course.

Year in industry

You can choose to take a year in industry after the second year of the programme. This gives you work experience, a salary and the possibility of a job with the same company after graduation. You don’t have to make a decision before you enrol at Kent but certain conditions apply: for details, see see Computer Science with a Year in Industry.

Study resources

Facilities to support the study of Computer Science include The Shed, the School of Computing's Makerspace, which houses:

  • 3D printers
  • laser-cutting facilities
  • development equipment, including Oculus Rift and Raspberry Pi.

Students also have exclusive access to a computer room and common room, and we run a peer-mentoring scheme.

Extra activities

Computer Science students often take part in TinkerSoc, a student-run 'tinkering' society which meets in 'The Shed', our collaborative workspace. TinkerSoc welcomes all students who like making things.

Whether a member of TinkerSoc or not, you can spend time in The Shed, making, exploring and sharing. In this informal environment you can build physical devices for your coursework, as well as develop your own interests and hobbies.

The School of Computing also hosts events that you are welcome to attend. These include our successful seminar programme where guest speakers from academia and industry discuss current developments in the field. We also host the BCS local branch events on campus.

Professional network

Our programmes are informed by a stakeholder panel of industry experts who give feedback on the skills that employers require from a modern workforce.

Our successful year in industry programmes have allowed us to build up excellent relationships with leading companies such as BAE Systems, Citigroup and The Walt Disney Company.

We also have a dedicated Employability Coordinator who is the first point of contact for students and employers.

*The University of Kent's Statement of Findings can be found here.

Featured video

Accreditation

Full CITP and partial CEng accreditation from BCS, The Chartered Institute for IT.

There’s lots of space there, everything is well-equipped and you can always find somewhere quiet when you need to concentrate.

Jamie Howard - Computer Science with a Year in Industry

Entry requirements

Please also see our general entry requirements.

  • medal-empty

    A level

    ABB-BBC

  • medal-empty GCSE

    Mathematics grade 4/C

  • medal-empty Access to HE Diploma

    The University will not necessarily make conditional offers to all Access candidates but will continue to assess them on an individual basis. 

    If we make you an offer, you will need to obtain/pass the overall Access to Higher Education Diploma and may also be required to obtain a proportion of the total level 3 credits and/or credits in particular subjects at merit grade or above.

  • medal-empty BTEC Nationals

    Distinction, Distinction, Merit - Distinction, Merit, Merit

  • medal-empty International Baccalaureate

    34 points overall or 15 points at HL including Mathematics 5 at HL or SL, or Mathematics Studies 6 at SL

  • medal-empty International Foundation Programme

    Pass all components of the University of Kent International Foundation Programme with a 50% overall average including 50% in Programming and 50% in LZ013 Maths and Statistics (irrespective of whether GCSE Maths or equivalent has been obtained in pre-foundation studies).

International students should visit our International Student website for further specific information. International fee-paying students who require a Student visa cannot study part-time due to visa restrictions.

English Language Requirements

Please see our English language entry requirements web page.

If you need to improve your English language standard as a condition of your offer, you can attend one of our pre-sessional courses in English for Academic Purposes before starting your degree programme. You attend these courses before starting your degree programme.

Course structure

Duration: 3 years full-time

The course structure below gives a flavour of the modules and provides details of the content of this programme. This listing is based on the current curriculum and may change year to year in response to new curriculum developments and innovation.

Stage 1

All modules are compulsory.

Compulsory modules currently include

This module provides an introduction to object-oriented software development. Software pervades many aspects of most professional fields and sciences, and an understanding of the development of software applications is useful as a basis for many disciplines. This module covers the development of simple software systems. Students will gain an understanding of the software development process, and learn to design and implement applications in a popular object-oriented programming language. Fundamentals of classes and objects are introduced and key features of class descriptions: constructors, methods and fields. Method implementation through assignment, selection control structures, iterative control structures and other statements is introduced. Collection objects are also covered and the availability of library classes as building blocks. Throughout the course, the quality of class design and the need for a professional approach to software development is emphasised and forms part of the assessment criteria.

Find out more about COMP3200

Mathematical reasoning underpins many aspects of computer science and this module aims to provide the skills needed for other modules on the degree programme; we are not teaching mathematics for its own sake. Topics will include algebra, reasoning and proof, set theory, functions, statistics and computer arithmetic.

Find out more about COMP3220

An introduction to databases and SQL, focussing on their use as a source for content for websites. Creating static content for websites using HTML(5) and controlling their appearance using CSS. Using PHP to integrate static and dynamic content for web sites. Securing dynamic websites. Using Javascript to improve interactivity and maintainability in web content.

Find out more about COMP3230

This module follows from COMP3220 and aims to provide students with more understanding of the theory behind the formal underpinnings of computing. It will build upon the abstract reasoning skills introduced in COMP3220. Matrices, vectors, differential calculus, probability and logic will be introduced.

Find out more about COMP3250

This module provides an introduction to human-computer interaction. Fundamental aspects of human physiology and psychology are introduced and key features of interaction and common interaction styles delineated. A variety of analysis and design methods are introduced (e.g. GOMS. heuristic evaluation, user-centred and contextual design techniques). Throughout the course, the quality of design and the need for a professional, integrated and user-centred approach to interface development is emphasised. Rapid and low-fidelity prototyping feature as one aspect of this.

Find out more about COMP3280

This module equips students with an understanding of how modern cloud-based applications work. Topics covered may include:

• A high-level view of cloud computing: the economies of scale, security issues, ethical concerns, the typical high-level architecture of a cloud-based application, types of available services (e.g., parallelization, data storage).

• Cloud infrastructure: command line interface; containers and virtual machines; parallelization (e.g., MapReduce, distributed graph processing); data storage (e.g., distributed file systems, distributed databases, distributed shared in-memory data structures).

• Cloud concepts: high-level races, transactions and sequential equivalence; classical distributed algorithms (e.g., election, global snapshot, consensus, distributed mutual exclusion); scheduling, fault-tolerance and reliability in the context of a particular parallelization technology (e.g., MapReduce).

• Operating system support: network services (e.g., TCP/IP, routing, reliable communication), virtualization services (e.g., virtual memory, containers)

Find out more about COMP3370

This module aims to strengthen the foundational programming-in-the-small abilities of students via a strong, practical, problem solving focus. Specific topics will include introductory algorithms, algorithm correctness, algorithm runtime, as well as big-O notation. Essential data structures and algorithmic programming skills will be covered, such as arrays, lists and trees, searching and sorting, recursion, and divide and conquer.

Find out more about COMP3830

This module builds on the foundation of object-oriented design and implementation found in CO320 to provide both a broader and a deeper understanding of and facility with object-oriented program design and implementation. Reinforcement of foundational material is through its use in both understanding and working with a range of fundamental data structures and algorithms. More advanced features of object-orientation, such as interface inheritance, abstract classes, nested classes, functional abstractions and exceptions are covered. These allow an application-level view of design and implementation to be explored. Throughout the course, the quality of application design and the need for a professional approach to software development is emphasised.

Find out more about COMP5200

Stage 2

All modules are compulsory.

Compulsory modules currently include

The curriculum covers topics in algorithms and data structures. Among data structures, it covers advanced topics on trees, heaps, graphs, et cetera. It provides details of computational complexity notations like O(). It covers the correctness and runtime analysis of recursive algorithms using recurrences. These algorithms range from mathematical computations to sorting algorithms. These algorithms are put in the context of appropriate algorithmic paradigms like divide-and-conquer and dynamic programming. Finally, computational complexity classes and problem reductions are introduced along with the proof techniques for NP-hardness and NP-completeness.

Find out more about COMP5180

This module covers the basic principles of machine learning and the kinds of problems that can be solved by such techniques. You learn about the philosophy of AI, how knowledge is represented and algorithms to search state spaces. The module also provides an introduction to both machine learning and biologically inspired computation.

Find out more about COMP5280

This module provides an introduction to the theory and practice of database systems. It extends the study of information systems in Stage 1 by focusing on the design, implementation and use of database systems. Topics include database management systems architecture, data modelling and database design, query languages, recent developments and future prospects.

Find out more about COMP5320

Building scaleable web sites using client-side and server-side frameworks (e.g. JQuery, CodeIgniter). Data transfer technologies, e.g. XML and JSON. Building highly interactive web sites using e.g. AJAX. Web services. Deploying applications and services to the web: servers, infrastructure services, and traffic and performance analysis. Web and application development for mobile devices.

Find out more about COMP5390

This module introduces students to the functional programming paradigm, using at least one modern functional programming language to put the core concepts into practice. The module will develop both the foundation and theory of this paradigm, as well as the practice and application of the paradigm to solve problems and build systems. The module will core topics, including:

• Functions as first-class language constructs and as a central organising principle;

• Higher-order functions and compositional programming;

• Basic semantics of functional languages;

• The role of types in programming;

• Algebraic data types and pattern matching;

• Recursion and recursive data types;

• Differences with imperative and object-oriented programming paradigms;

• Properties of programs, (e.g., purity, side-effect freedom, totality, and partiality).

• The lambda-calculus as a programming model and foundation.

• BNF grammars for representing context-free syntax, and its relation to ADTs and language manipulation.

• Testing and issues of building correct software.

The module will develop practical skills in programming and problem solving using functional programming. There will also be a chance to apply functional programming to help understand better concepts in logic and mathematics.

Later parts of the module will then consider concurrent programming in the context of functional programming, including concurrent programming models and primitives (e.g., message-passing concurrency), parallelism, synchronisation and communication, and properties of deadlock, communication-safety, and starvation.

Find out more about COMP5450

This module aims to provide students with an understanding of the fundamental components (hardware and software) of a typical computer system, and how they collaborate to execute software programs. The module provides a compressive overview from the lowest level of abstractions in hardware to the highest level of abstractions of modern programming languages. For example, they will see logic circuits, machine language, programming language implementations, high-level languages, and applications. This material provides a general understanding of computers, and it will also prepare students to develop software considering the system perspective, e.g. cost of abstraction and performance implications.

Find out more about COMP5570

Cyber security has always been an important aspect of computing systems but its importance has increased greatly in recent years. The curriculum covers areas where cyber security is of major importance, but have different security requirements and may be exposed to different threats and attacks. It also covers techniques and mechanisms used to secure computer systems and data to meet those requirements and protect them. The areas looked at include computer operating systems (and increasingly, distributed operating systems), distributed applications (such as electronic commerce over the Internet), embedded systems (ranging from smart cards to large industrial plant and telecommunications systems), and users. The techniques and mechanisms looked at include cryptography, authentication & authorisation, and access control. Furthermore, the curriculum integrates the legal, ethical, and professional perspectives, for instance, to address concerns about data security, privacy, and societal impact of computing systems.

Find out more about COMP5580

The module studies team-based Agile software development in detail and places it in a wider software development context.

Topics covered include

• Concepts, principles, practice and philosophy of an Agile approach to software development, contrasting with more structured approaches.

• Collaboration: programmer collaboration, team values, customer involvement, project management, standards and reporting.

• Planning: release and sprint planning, risk assessment, user stories and resource estimating

• Development practices: incremental requirements, test-driven development, refactoring, scrum, code review, quality assurance, continuous integration.

• Tools: IDEs, version control, automated code quality evaluation, issue tracking.

• Ethics, Intellectual property, codes of conduct and professional responsibility.

Find out more about COMP5590

Optional modules may include

Propositional & Predicate Logic, including proofs. Formal languages: finite automata, regular expressions, CFGs. Turing machines, decidability.

Find out more about COMP5190

Building scaleable web sites using client-side and server-side frameworks (e.g. JQuery, CodeIgniter). Data transfer technologies, e.g. XML and JSON. Building highly interactive web sites using e.g. AJAX. Web services. Deploying applications and services to the web: servers, infrastructure services, and traffic and performance analysis. Web and application development for mobile devices.

Find out more about COMP5390

Stage 3

You take either CO600 Project, CO620 Research Project or CO650 IT Consultancy Project, plus 90 credits from a list of optional modules.

Optional modules may include

This module is designed to provide students across the university with access to knowledge, skill development and training in the field of entrepreneurship with a special emphasis on developing a business plan in order to exploit identified opportunities. Hence, the module will be of value for students who aspire to establishing their own business and/or introducing innovation through new product, service, process, project or business development in an established organisation. The module complements students' final year projects in Computing, Law, Biosciences, Electronics, Multimedia, and Drama etc.

Find out more about BUSN6120

Students, working in small groups, undertake a project related to computer science and/or software engineering. The project may be self-proposed or may be selected from a list of project proposals. A project will involve the specification, design, implementation, documentation and demonstration of a technical artefact, demonstrating the ability to synthesise information, ideas and practices to provide a quality solution together with an evaluation of that solution.

Find out more about COMP6000

As a research project, this module is normally aimed at students who are achieving at upper second class level and above, and who may be intending to undertake research following graduation. Each student undertakes a project related to computer science and/or software engineering. The project may be self-proposed or may be selected from a list of project proposals. A project will involve background study and working on an open-ended research problem.

A small number of introductory lectures are given at the start of the project.

Find out more about COMP6200

The module starts with a comprehensive and detailed study of current computer networks and communications technologies. It includes: a review of network techniques, switching and multiple access; high speed local area networks; network protocols, including data link, network, transport and application layers. A selection of key topics are looked at in greater depth to reveal the state-of-the-art and issues (problems) that remain to be solved.

Find out more about COMP6330

Security has always been an important aspect of computing systems but its importance has increased greatly in recent years. In this module you learn about areas where security is of major importance and the techniques used to secure them. The areas you look at include computer operating systems (and increasingly, distributed operating systems), distributed applications (such as electronic commerce over the Internet) and embedded systems (ranging from smart cards and pay-TV to large industrial plant and telecommunications systems).

Find out more about COMP6340

In this module you learn what is meant by neural networks and how to explain the mathematical equations that underlie them. You also familiarise yourself with cognitive neural networks using state of the art simulation technology and apply these networks to the solution of problems. In addition, the module discusses examples of computation applied to neurobiology and cognitive psychology. The module also introduces artificial neural networks from the machine learning perspective. You will study the existing machine learning implementations of neural networks, and you will also engage in implementation of algorithms and procedures relevant to neural networks.

Find out more about COMP6360

There is an increasing use of nature-inspired computational techniques in computer science. These include the use of biology as a source of inspiration for solving computational problems, such as developments in evolutionary algorithms and swarm intelligence. It is therefore proposed to allow students the opportunity to become exposed to these types of methods for use in their late careers.

Find out more about COMP6370

E-commerce is an increasingly important area for consumers, businesses and national economies. This module introduces what is meant by electronic commerce, and discusses its economic and social implications, its drivers and limitations. You will learn about the principal features of business-to-business and business-to-customer e-commerce and compare them with traditional forms of trading. The course also includes the chance to implement a simple end-to-end e-commerce system.

Find out more about COMP6390

Indicative topics include:

• Resource Description Framework (RDF) & RDF Schema:

• Information representation and knowledge exchange on the web

o Applications of RDF

• RDF Query and Inference Languages (e.g. SPARQL etc.)

• Web Ontology Language (OWL):

o Publishing and sharing of ontologies

• Knowledge management, asset management, enterprise integration

o Automated agents

• Existing Shared Ontologies (e.g. FOAF, DC, SKOS etc.)

• Metadata and Provenance

• The Wider Picture:

o Data trust and proof issues

o Computer law and professional issues

• The future of the Web (these lists are not exhaustive):

o Web 3.0: the Semantic Web; cognitive architecture; automated reasoning; distributed computing; composite applications; semantic wikis etc.

• Aim to give students the tools to critically evaluate the Semantic Web (and alternative proposals)

Find out more about COMP6440

Students will spend one half-day per week for ten weeks in a school with a nominated teacher. They will observe sessions taught by their designated teacher and possibly other teachers. Later they will act somewhat in the role of a teaching assistant, by helping individual pupils who are having difficulties or by working with small groups. They may take 'hotspots': brief sessions with the whole class where they explain a technical topic or talk about aspects of university life. They must keep a weekly log of their activities. Each student must also devise a special project in consultation with the teacher and with the module convener. They must then implement and evaluate the project.

Find out more about COMP6460

The following is indicative of topics/themes this module will include:

• An overview of basic concepts related to Computational Intelligence (CI) techniques, such as heuristic search and optimisation

• Presentation of different CI algorithms, such as hill climbing, simulated annealing, genetic algorithms and genetic programming

• An overview of basic concepts related to real-world problems related to business, economics and finance, such as financial forecasting, automated bargaining, portfolio

optimisation, and timetabling

• The use of Computational Intelligence techniques to solve real-world problems

• Computational Intelligence decision support systems and software wind tunnels for testing new markets and strategies

Find out more about COMP6560

The module will cover a mixture of theoretical and practical topics in the area of the Internet of Things (IoT), that is, the use of Internet technologies to access and interact with objects in the physical world. This will include coverage of the range of sensor and actuator devices available, ways in which they communicate and compute, methods for getting information to and from IoT-enabled devices, and ways of visualising and processing data gained from the IoT. A practical component will consist of building the hardware and software for a sensor network and a system to collect, process and visualise data from that network.

Find out more about COMP6570

A study of techniques for interpreting and compiling programming languages, implementing them in a typed functional programming language (e.g., OCaml, Haskell). The module will outline a whole compiler from source to machine code, but will focus in depth on key algorithms and techniques. Possible in-depth topics include:

• writing interpreters,

• Hindley-Milner type inference,

• register allocation,

• garbage collection,

• abstract interpretation,

• static single assignment form.

The implemented language will be based on a simple imperative (e.g., Pascal-like) language with some extensions to address advanced topics in data layout (e.g., closures, objects, pattern matching). The course will be organized around a simple, but complete, example compiler that the student will have to understand and modify.

Find out more about COMP6580

The module aim is to give students an overview and understanding of key theoretical, practical and philosophical research and issues around computational creativity, and to give them practical experience in writing and evaluating creative software.

The following is an indicative list of topics that may be covered:

• Introduction to computational creativity

• Examples of computational creativity software e.g. musical systems, artistic systems, linguistic systems, proof generator systems, systems for 2D and 3D design.

• Evaluation of computational creativity systems (both of the quality and the creativity of systems)

• Philosophical issues concerning creativity in computers

• Comparison of computer creativity to human creativity

• Collaborative creativity between humans and computers

• Overview of recent research directions/results in computational creativity

• Practical experience in writing creative software.

Find out more about COMP6590

This module is aimed at introducing the principles of concurrency theory (1, 2, 3) and demonstrating how these can be applied to design and implement distributed applications (4). Advanced concepts of Web services will be studied and placed in the perspective of these principles (5, 6).

The following is an indicative list of topics:

• Message passing primitives for concurrency: synchronous versus asynchronous message passing, the actor model.

• Reasoning on processes: temporal logic, safety and liveness properties, bisimulation.

• Channel passing and mobility.

• Design and implementation of application–level protocols.

• Web services: from stateless services to distributed business processes (also known as service orchestrations).

• Transaction protocols on the Web: two-phase commit, long running transactions

Find out more about COMP6610

This module will provide the student with an understanding of basic principles of signals; introduce digitisation methods such as sampling, quantisation and coding; describe and apply signal analysis techniques, such as segmentation, noise reduction, filtering, spectral analysis, feature extraction and classification (including recognition and decision making) to solve practical signal analysis problems using Matlab.

Find out more about COMP6620

An overview of basic concepts related to eHealth and a perspective on current HIT (Health Information Technology) and innovation. Review of current healthcare related IT systems. The use of information technology for handling clinical data, health systems. Data representation and knowledge management. Security and privacy. Ethics and legal requirements of eHealth systems. Clinical decision support systems. TeleHealth tools for remote diagnosis, monitoring, and disease management. Delivery and monitoring platforms for both hospitals and home environment. Innovation in eHealth systems leading to start-up companies.

Find out more about COMP8160

This module will give students an overarching introduction to quantum information processing (QIP). At the end of the course the students will have a basic understanding of quantum computation, quantum communication, and quantum cryptography; as well as the implications to other fields such as computation, physics, and cybersecurity.

We will take a multi-disciplinary approach that will encourage and require students to engage in topics outside of their core discipline. The module will cover the most essential mathematical background required to understand QIP. This includes: linear algebra, basic elements of quantum theory (quantum states, evolution of closed quantum systems, Born's rule), and basic theory of computing. The module will introduce students to the following theoretical topics: quantum algorithms, quantum cryptography, quantum communication & information. The module will also address experimental quantum computation & cryptography.

Find out more about COMP8220

This module explores a range of different data mining and knowledge discovery techniques and algorithms. You learn about the strengths and weaknesses of different techniques and how to choose the most appropriate for any particular task. You use a data mining tool, and learn to evaluate the quality of discovered knowledge.

Find out more about COMP8320

This module is concerned with a range of topics in video game design and development, including game physics, AI, level design, player behaviour, game rules and mechanics, as well as user interfaces. This module introduces students to game development using industry-standard software tools.

Find out more about DIGM6390

The module introduces fundamental techniques employed in image processing and pattern recognition providing an understanding of how practical pattern recognition systems may be developed able to address the inherent difficulties present in real world situations. The material is augmented with a study of biometric and security applications looking at the specific techniques employed to recognise biometric samples.

Find out more about EENG5610

This module introduces the theory and practice of employing computers as the control and organisational centre of an electronic or mechanical system, and examines time critical systems. It also provides embedded systems design through practical work, including real-time operating systems and microcomputer programming.

Find out more about EENG6670

The module will study some of the major works in the history of modern philosophy of cognitive science and artificial intelligence. An indicative list of topics is: The Turing test; the Chinese Room argument; the frame problem; connectionism; extended and embodied cognition; artificial consciousness. The approach will be philosophical and critical, and will involve the close reading of texts. Students will be expected to engage critically with the works being studied and to formulate and argue for their own views on the issues covered.

Find out more about PHIL5830

Fees

The 2021/22 annual tuition fees for this programme are:

  • Home full-time £9,250
  • EU full-time £15,400
  • International full-time £20,500

For details of when and how to pay fees and charges, please see our Student Finance Guide.

For students continuing on this programme, fees will increase year on year by no more than RPI + 3% in each academic year of study except where regulated.* 

Your fee status

The University will assess your fee status as part of the application process. If you are uncertain about your fee status you may wish to seek advice from UKCISA before applying.

Additional costs

General additional costs

Find out more about accommodation and living costs, plus general additional costs that you may pay when studying at Kent.

Funding

We have a range of subject-specific awards and scholarships for academic, sporting and musical achievement.

Search scholarships

University funding

Kent offers generous financial support schemes to assist eligible undergraduate students during their studies. See our funding page for more details. 

Government funding

You may be eligible for government finance to help pay for the costs of studying. See the Government's student finance website.

Scholarships

General scholarships

Scholarships are available for excellence in academic performance, sport and music and are awarded on merit. For further information on the range of awards available and to make an application see our scholarships website.

The Kent Scholarship for Academic Excellence

At Kent we recognise, encourage and reward excellence. We have created the Kent Scholarship for Academic Excellence. 

The scholarship will be awarded to any applicant who achieves a minimum of A*AA over three A levels, or the equivalent qualifications (including BTEC and IB) as specified on our scholarships pages.

Teaching and assessment

Teaching

Within the School of Computing are authors of widely used textbooks, a National Teaching Fellow and Association of Computer Machinery (ACM) Award-winning scientists. Programmes are taught by leading researchers who are experts in their fields.

Teaching is based on lectures, with practical classes and seminars, but we are also introducing more innovative ways of teaching, such as virtual learning environments and work-based tuition. Work includes group projects, case studies and computer simulations, with a large-scale project of your own choice in the final year.

Overall workload

Each stage comprises eight modules. Most modules run for a single 12-week term and have two lectures and one to two hours of classes, making 14 formal contact hours per week and eight hours of 'homework club' drop-in sessions each term.

Academic support

We provide excellent support for you throughout your time at Kent. This includes access to web-based information systems, podcasts and web forums for students who can benefit from extra help. We use innovative teaching methodologies, including BlueJ and LEGO© Mindstorms for teaching Java programming.

Teaching staff

Our staff have written internationally acclaimed textbooks for learning programming, which have been translated into eight languages and are used worldwide. A member of staff has received the SIGCSE Award for Outstanding Contribution to Computer Science Education. The award is made by ACM, the world's largest educational and scientific computing society.

Assessment

Assessment is by a combination of coursework and end-of-year examination and details are shown in the module outlines on the web. Project modules are assessed wholly by coursework.

The marks from stage one do not go towards your final degree grade, but you must pass to continue to stage two. 

Most stage two modules are assessed by coursework and end-of-year examination. Marks from stage two count towards your degree result. 

Most stage three modules are assessed by a combination of coursework and end-of-year examination. Projects are assessed by your contribution to the final project, the final report, and oral presentation and viva examination. Marks from stage three count towards your degree result.

Percentage of the course assessed by coursework

In stage three your project counts for 25% of the year's marks. 

Contact hours

For a student studying full time, each academic year of the programme will comprise 1200 learning hours which include both direct contact hours and private study hours.  The precise breakdown of hours will be subject dependent and will vary according to modules.  Please refer to the individual module details under Course Structure.

Methods of assessment will vary according to subject specialism and individual modules.  Please refer to the individual module details under Course Structure.

Programme aims

The programme aims to:

  • provide a programme that attracts and meets the needs of those contemplating a career in computing and those motivated primarily by an intellectual interest in computer science
  • be compatible with widening participation in higher education by offering a wide variety of entry routes
  • provide knowledge and understanding of the principles of computer science
  • provide computing skills that will be of lasting value in a field that is constantly changing 
  • offer a range of options so students can match their interests and study selected areas of computing in more depth
  • provide teaching informed by current research and scholarship, which requires students to engage with work at the frontiers of knowledge
  • develop general critical, analytical and problem-solving skills that can be applied in a range of computing and non-computing settings.

Learning outcomes

Knowledge and understanding

You gain knowledge and understanding of:

  • hardware: the major functional components of a computer system
  • software: programming languages and practise; tools and packages computer applications structuring of data and information
  • communication and interaction: basic computer communication network concepts; communication between computers and people; the control and operation of computers.
  • practise: problem identification and analysis; design development, testing and evaluation.
  • theory: algorithm design and analysis formal methods and description modelling.

Intellectual skills

You develop intellectual skills in:

  • modelling: knowledge and understanding in the modelling and design of computer-based systems in a way that demonstrates comprehension of the trade-off involved in design choices
  • reflection and communication: presenting succinctly to a range of audiences rational and reasoned arguments
  • requirements: identifying and analysing criteria and specifications appropriate to specific problems and plan strategies for their solution
  • criteria evaluation and testing: analysing the extent to which a computer-based system meets the criteria defined for its current use and future development
  • methods and tools: deploying appropriate theory, practices, and tools for the specification, design, implementation, and evaluation of computer-based systems
  • professional responsibility: recognising and being guided by the professional, economic, social,environmental, moral and ethical issues involved in the sustainable exploitation of computer technology
  • computational thinking: demonstrating a basic analytical ability and its relevance to everyday life
  • enabling students to meet the above aims more deeply by providing both a broad overview of the subject and enabling specialisation in selected areas
  • several themed pathways which build on the core computer science modules to allow students to pursue particular interests

Subject-specific skills

You gain subject-specific skills in:

  • design and implementation: specifying, designing, and implementing computer-based systems
  • evaluation: evaluating systems in terms of general quality attributes and possible trade-offs presented within the given problem
  • information management: applying the principles of effective information management, information
  • organisation and information retrieval skills to information of various kinds, including text, images, sound, and video.
  • tools: deploying effectively the tools used for the construction and documentation of software, with particular emphasis on understanding the whole process involved in using computers to solve practical problems
  • operation: operating computing equipment and software systems effectively.

Transferable skills

You gain transferable skills in:

  • teamwork – working effectively as a member of a development team
  • communication – making succinct presentations to a range of audiences about technical problems and their solutions
  • information technology – effective use of general IT facilities; information retrieval skills
  • numeracy and literacy – understanding and explaining the quantitative and qualitative dimensions of a problem
  • self management – managing your own learning and development, including time management and organisational skills
  • professional development – appreciating the need for continuing professional development.

Independent rankings

Computer Science at Kent (which includes all programmes offered by the School of Computing) scored 90% overall in The Complete University Guide 2021

For graduate prospects, Computer Science at Kent was ranked 15th out of 110 in The Complete University Guide 2021

Computer Science at Kent was ranked 8th for research intensity in The Complete University Guide 2021.

Careers

Graduate destinations

Our graduates have gone on to work in:

  • software engineering
  • mobile applications development
  • systems analysis
  • consultancy
  • networking
  • web design and e-commerce
  • finance and insurance
  • commerce
  • engineering
  • education
  • government
  • healthcare.

Recent graduates have gone on to develop successful careers at leading companies such as:

  • BAE Systems
  • Cisco
  • IBM
  • The Walt Disney Company
  • Citigroup
  • BT.

Help finding a job

The University has a friendly Careers and Employability Service, which can give you advice on how to:

  • apply for jobs
  • write a good CV
  • perform well in interviews.

You have access to a dedicated Employability Coordinator who is a useful contact for all student employability queries.

Career-enhancing skills

You graduate with a solid grounding in the fundamentals of computer science and a range of professional skills, including:

  • programming
  • modelling
  • design.

To help you appeal to employers, you also learn key transferable skills that are essential for all graduates. These include the ability to:

  • think critically
  • communicate your ideas and opinions
  • analyse situations and troubleshoot problems
  • work independently or as part of a team.

You can also gain extra skills by signing up for one of our Kent Extra activities, such as learning a language or volunteering.

Professional recognition

Our Computer Science degree has full Chartered IT Professional (CITP) accreditation from the BCS, The Chartered Institute for IT.

Apply for Computer Science - BSc (Hons)

This course page is for the 2021/22 academic year. Please visit the current online prospectus for a list of undergraduate courses we offer.

Contact us

bubble-text

United Kingdom/EU enquiries

Enquire online for full-time study

T: +44 (0)1227 768896

earth

International student enquiries

Enquire online

T: +44 (0)1227 823254
E: internationalstudent@kent.ac.uk

network

School website

School of Computing

Discover Uni information

Discover Uni is designed to support prospective students in deciding whether, where and what to study. The site replaces Unistats from September 2019.

Discover Uni is jointly owned by the Office for Students, the Department for the Economy Northern Ireland, the Higher Education Funding Council for Wales and the Scottish Funding Council.

It includes:

  • Information and guidance about higher education
  • Information about courses
  • Information about providers

Find out more about the Unistats dataset on the Higher Education Statistics Agency website.