This degree offers a broad base in software engineering skills, enabling you to pursue a wide range of careers from programmer to systems analyst, software developer to computer scientist. You have the opportunity to put your skills into practice on a paid year in industry placement.
This degree looks at software development including methodologies used in medium to large enterprises. The programme offers you a solid base of computing skills, equipping you for a wide range of future careers.
All of our programmes have a similar structure, and are divided into three stages.
In your first year, you are introduced to programming, web and databases. You begin with core fundamentals such as web and object-oriented programming using Java, human-computer interaction, and then build on that knowledge, learning and practicing advanced software engineering methodologies, from agile to structured approaches used in large software projects.
In your second year, you further develop your programming skills and address the engineering of large software systems. You then have the opportunity to apply your learning in a paid role during your year in industry.
In your final year, you are able to specialise in areas of particular interest to you. You can pick from a wide range of options, widening your knowledge of e-commerce, computer security, e-health, data mining and the semantic web. You learn how to apply computing concepts to complex systems.
Your year in industry takes place between your second and final year, giving you invaluable work experience. You earn a salary and there may be the possibility of a job with the same company after graduation. We have a dedicated Placement Team to guide you through the whole process and support you on your placement. The School has strong links with industry in Kent, nationally and internationally.
It is possible to take this degree as a three-year programme, without a year in industry. For details, see Software Engineering.
Apart from core learning towards your degree, we provide access to a wealth of other activities such as entrepreneurship (including business start-up opportunities), community engagement, public lectures, participation in short research projects and assistance in obtaining summer placements.
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.
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 two dedicated placement co-ordinators help students obtain and benefit from high-quality work placements. Previous year in industry participants have worked with leading companies such as BAE Systems, Citigroup and The Walt Disney Company. Many return to their final year with the security of an employment offer – testament to the high esteem in which our graduates are held by industry.
We also have a dedicated Employability Coordinator who is the first point of contact for students and employers.
The University will consider applications from students offering a wide range of qualifications. All applications are assessed on an individual basis but some of our typical requirements are listed below. Students offering qualifications not listed are welcome to contact our Admissions Team for further advice. Please also see our general entry requirements.
AAB-BBB
Mathematics grade 4/C
The University welcomes applications from Access to Higher Education Diploma candidates for consideration. A typical offer may require you to obtain a proportion of Level 3 credits in relevant subjects at merit grade or above.
Distinction, Distinction, Distinction - Distinction, Distinction, Merit
30 points overall or 15 points at HL including HL or SL Maths at 4 or SL Maths Studies at 5
Pass all components of the University of Kent International Foundation Programme with a 60% overall average.
The University will consider applicants holding T level qualifications in subjects closely aligned to the course.
If you are an international student, visit our International Student website for further information about entry requirements for your country, including details of the International Foundation Programmes. Please note that international fee-paying students who require a Student visa cannot undertake a part-time programme due to visa restrictions.
Please note that meeting the typical offer/minimum requirement does not guarantee that you will receive an offer.
Please see our English language entry requirements web page.
Please note that if you do not meet our English language requirements, we offer a number of 'pre-sessional' courses in English for Academic Purposes. You attend these courses before starting your degree programme.
Duration: 4 years full-time
The following modules are indicative of those offered on this programme. This listing is based on the current curriculum and may change year to year in response to new curriculum developments and innovation.
All modules are compulsory.
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.
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.
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.
This module follows from CO322 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 CO322. Matrices, vectors, differential calculus, probability and logic will be introduced.
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.
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)
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.
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.
The curriculum covers topics in algorithms and data structures, such as hashing and graph algorithms. It addresses how to program such algorithms, as well as how to test them, reason about their correctness and analyse their efficiency. It includes a mathematical treatment of big-O notation.
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.
Building scaleable web sites using client-side and 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.
The module studies in detail the activities and artefacts associated with software development process as performed by a development team (i.e. programming in the large).
Students undertake an individual project, which involves the specification and development of a software solution. Two members of academic staff will be involved in the supervision and monitoring of the project work. One member of academic staff will assume the role of client and the second that of mentor. Students will meet weekly with the client to review progress and validate development to-date. The mentor will support students to ensure the client's desired functionality is interpreted correctly and to encourage the adoption sound software engineering principles.Towards the end of the project, each student will:• Prepare a technical report that describes their solution strategy, the result of their project and reflections on what the student earned from the project;• Present and give a demonstration of their software solution to the academic supervisors and other project groups.
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.
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.
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.
You spend a year working in an industrial or commercial environment between Stages 2 and 3. Our students go to a wide range of companies, including:
They have also been to overseas employers in locations including Amsterdam, Hong Kong and the US.
The year in industry forms an integral part of your degree and constitutes 10% of your final grade. Assessment comprises an employer evaluation, a reflective report and a logbook/portfolio.
Although it is your responsibility to find a suitable placement, the School of Computing’s dedicated Placement Team will help to identify suitable opportunities, assist with your application and prepare you for interviews.
To automatically progress onto the year in industry, you must pass Stage 2 at the first attempt. If you fail, you must pass the first resit opportunity in the August of the same year. Students who do not obtain a work placement will have their registration changed to the equivalent three-year programme without a year in industry.
Students spend a year (minimum 44 weeks) working in an industrial or commercial setting, applying and enhancing the skills and techniques they have developed and studied in the earlier stages of their degree programme. The work they do is entirely under the direction of their industrial supervisor, but support is provided via a dedicated Placement Support Officer with the School. This support includes ensuring that the work they are being expected to do is such that they can meet the learning outcomes of the module.
Students spend a year (minimum 44 weeks) usually in an industrial, commercial, public sector, or similar setting, applying and enhancing the skills and techniques they have developed and studied in the earlier stages of their degree course.
The Assessments required for this module should provide evidence of the subject specific and generic learning outcomes, and of reflection by the student on them as an independent learner.
The placement work they do is entirely under the direction of their industrial supervisor, but support is provided by the University. This support includes ensuring that the work they are being expected to do is such that they can meet the learning outcomes of this module.
Participation in the placement year, and hence in this module, is dependent on students obtaining an appropriate placement, for which support and guidance is provided by the University. It is also dependent on students progressing satisfactorily from Stage 2 of their studies.
Students who do not obtain a placement will be required to transfer to the appropriate course without a Year in Industry.
You take COMP6000 Project and a selection of optional modules.
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.
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.
In this module you learn what is meant by neural networks and how to explain the mathematical equations that underlie them. You also build 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.
Indicative topics include:
Resource Description Framework (RDF) & RDF Schema:
Information representation and knowledge exchange on the web
Applications of RDF
RDF Query and Inference Languages (e.g. SPARQL etc.)
Web Ontology Language (OWL):
Publishing and sharing of ontologies
Knowledge management, asset management, enterprise integration
Automated agents
Existing Shared Ontologies (e.g. FOAF, DC, SKOS etc.)
Metadata and Provenance
The Wider Picture:
Data trust and proof issues
Computer law and professional issues
The future of the Web (these lists are not exhaustive):
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
This module introduces the theory and practice of employing computers as the control and organisational centre of an electronic or mechanical system, and examines issues related to time critical systems. It also provides exposure to practical embedded systems design through practical work, with one assignment exploring the ideas of real-time operating systems introduced in the lectures and a second using a microcomputer programmed in 'C' to control the ignition timing of a simulated petrol engine.
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.
The 2022/23 annual tuition fees for this course are:
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.*
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.
Fees for Home undergraduates are £1,385.
Fees for Home undergraduates are £1,385.
Students studying abroad for less than one academic year will pay full fees according to their fee status.
Find out more about accommodation and living costs, plus general additional costs that you may pay when studying at Kent.
We have a range of subject-specific awards and scholarships for academic, sporting and musical achievement.
Search scholarshipsKent offers generous financial support schemes to assist eligible undergraduate students during their studies. See our funding page for more details.
You may be eligible for government finance to help pay for the costs of studying. See the Government's student finance website.
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.
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.
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.
Each stage comprises eight modules. Most modules run for a single 12-week term. Each module has 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.
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.
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 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.
In stage three your project counts for 25% of the year's marks.
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.
The programme aims to:
You gain knowledge and understanding of:
You gain intellectual skills in:
You gain subject-specific skills in:
You gain transferable skills in:
Computer Science at Kent was ranked 24th for research quality in The Complete University Guide 2023.
Graduates who have both IT knowledge and business skills can expect excellent career prospects. Our graduates have gone on to work in:
Recent graduates have gone on to develop successful careers at leading companies such as:
The University has a friendly Careers and Employability Service, which can give you advice on how to:
You have access to a dedicated Employability Coordinator who is a useful contact for all student employability queries.
To help you appeal to employers, you learn key transferable skills that are essential for all graduates. These include the ability to:
You can also gain extra skills by signing up for one of our Kent Extra activities, such as learning a language or volunteering.
This course page is for the 2022/23 academic year. Please visit the current online prospectus for a list of undergraduate courses we offer.
T: +44 (0)1227 823254
E: internationalstudent@kent.ac.uk
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:
Find out more about the Unistats dataset on the Higher Education Statistics Agency website.