Search our site
Search our site

Computer Science BSc(Hons)

Attendance UCAS code/apply Year of entry
3 years full time G401 2019
4 years full time including sandwich year G400 2019
4 years full time including foundation year G403 2019
6 years part time Apply direct to the University 2019

The computer science programme at Kingston University is driven by the philosophy of ‘learning through making'; we focus strongly on facilitating hands-on experience, student led and owned product portfolios and producing industry-ready graduates. We utilise a range of innovating teaching and learning approaches in our invigorated and modernised computer science programme; combining studio practices, project-based learning through workshops and group work, scalable, context driven lecturing on theoretical concepts to facilitate an informed approach to problem solving.

This course assumes no prior knowledge of computer science and offers you the flexibility to pursue specialist areas; the use of guided option routes as pre-shaped trajectories across levels allow students to progressively focus on their chosen career path. The current guided option routes are designed around the most in demand sectors in the industry. They are Software Engineering, User Experience Design, Web and Mobile App Development, Networking and Network Security.

We are determined to produce highly trained graduates with specialist technical knowledge and scientific mind set, capable of solving real world problems and are driven by passion.

Our computing courses ranking rose by 34 places in the Guardian University League Tables 2018.

Computer Science student Diana talks about her experience studying at Kingston University.

Foundation year

If you would like to study computing at Kingston University but are not yet ready to join the first year of a BSc(Hons) course, you can include an extra foundation year within your chosen degree. Please see the foundation year course page for details of modules.

What you will study

Our programme structure is centred on student learning and development to encourage them to become a more effective, independent and confident self-directed learner which appeals to employers. Supported by a set of guided learning journeys, you will learn theoretical and practical aspects of system design and development, and gradually develop a portfolio of ‘products' and ‘artefacts' of different levels of complexity as the outputs of assignments in dedicated modules.

They will be integrated into an online portfolio of applications and design solutions that reflect your professional readiness. The first year of the course consists entirely of core modules to provide the fundamental computer science knowledge; you will examine computer architectures, and the tools and techniques used to build systems.

You will learn principles, techniques and tools common to the analysis and design of software development, and study the impact of technologies on the workplace, economy and society. In second and third year you will focus more on the chosen specialist area, and using a combination of core and optional modules you will be exposed to the latest software innovations, design patterns, algorithms, programming languages, data structures and tools. For example you will learn the latest agile project management approaches, data modelling using UML, relational and object-oriented database systems, data processing platforms used for big data applications, processing of data sets with adaptive algorithms driven by machine learning, visualisation of data for business insight.

The guided route you select will enable you to gain expertise of the chosen area and explore the latest innovations associated with a specific domain in-depth, building on the foundation set by the core modules. If you do not wish to follow a guided route you can choose any of the available options where the pre-requisites are met and are always guaranteed a broad grounding in computer science. You can use the individual project module in the third year to showcase the knowledge and skills you have gained.

Module listing

Please note that this is an indicative list of modules and is not intended as a definitive list. Those listed here may also be a mixture of core and optional modules.

Year 1

  • This module introduces students to the principles behind hardware and software systems, and the important concepts related to modern computer systems.

    First, following a review of the relevant mathematical principles, students will acquire an understanding of computer architecture, how data are represented, stored and processed, and how the operating system manages hardware and software resources. Second, they will understand the main concepts behind databases, network communication, and social media. Finally, they will learn about the essential technologies supporting web development and database management.

    The assessment strategy involves an exam and the development of a portfolio reporting both theoretical and practical knowledge of the fundamental concepts addressed in the module. The module will also offer scope for students to be challenged and extended by developing deeper skills.

    Read full module description

  • This module is taken by all first year undergraduate students undertaking a degree in the computing subject area. Previous experience of programming is not assumed. The module seeks to introduce a foundation for programming that can be built on in subsequent years and that accommodates specialist practice within computing eg games, software engineering, media, UX etc.

    Teaching and learning is split between a variety of different units to ensure the module is flexible enough to accommodate each cohort and student's needs. As befits a practical discipline like programming, a hands-on approach is used that facilitates self-paced and self-directed learning. Students are encouraged to engage with, develop and experiment with programs in a constructivist fashion inspired by bricolage (Stiller, 2009; Stiller, 2017).

    The intent is to build students' confidence as they learn to program, and provide a foundation that can be built on so that in later years they can go beyond simple solutions to problems and be ready to engage in full-fledged application development.

    Read full module description

  • This module focuses on the principles, methods, techniques and tools commonly used in the early analysis and design stages of the software development life cycle. Students work in teams on a software design project, in which they build application prototypes.

    Projects are framed in an economic, commercial and business context, allowing students to be exposed to professional industry practices in a dynamic and changing environment. Teams will be expected to elicit, analyse and document requirements, applying a variety of software modelling and business modelling principles.

    Students will be expected to make use of UX and service design principles to understand interactions and the structure of the services, people and processes of an organisation.

    Prototypes will be designed, created, and demonstrated, in accordance with UX design best practices and requirements will be captured as artefacts via UML models, use cases, user stories, wireframes and other practises.

    Read full module description

  • The goal of the Professional Environments module is to prepare students for professional practice firstly by ensuring they acquire suitable employability assets and secondly by equipping them with an understanding of the role of a professional in society and the role of professional bodies.

    While the bulk of the taught programme focuses primarily on domain knowledge, the Professional Environments module focuses on developing key skills (as enumerated in the Programme Specification), personal qualities (eg commercial awareness, reliability and punctuality, understanding the centrality of customers and clients), and professional knowledge including the need to engage with continuing professional development. With such assets, students will generate a CV, an employment portfolio, and a professional online presence.

    Being a professional also means understanding the key legal, ethical and societal issues pertinent to the domain, and understanding the need for continuing professional development (CPD) especially when technology develops at such a rapid pace. The module is designed to support different domain areas and to integrate experience from other professions. The subject areas being studied demand a global perspective which encourages the inclusion of our diverse of communities and national practices.

    Reflecting the fact that team working is ubiquitous in the modern workplace, a significant proportion of the assessment work on the course is group-work based. There is considerable evidence that group work promotes a much deeper engagement with taught content. It also encourages the development of diverse learning communities. This module will therefore introduce students to best practice in group working covering how to approach group work, how to deal with different types of people, and methods of selecting and managing groups.

    Read full module description


Year 2

  • The module aims to enhance your understanding of how modern computer systems are implemented from the perspectives of architecture, networking, operating system, parallel programming and algorithm complexity. You will explore the essential features and operations of modern computer architectures and acquire both theoretical and practical knowledge of the principles and major functions of modern operating systems. You will also develop knowledge of parallel programming and algorithm complexity so that you will be able to make use of new parallel computer architectures. Physical networks and their associated address schemes will also be explored.

    Read full module description

  • Following a project-based pedagogic approach, students will undertake a major inter-disciplinary team-work project drawn from a list of authentic industrial problems. Achieving the goals of the project will require students, firstly, to apply the various development methodologies they have acquired on their course and, secondly, to develop professional skills in project management and team working.

    While the bulk of the taught programme focuses primarily on the learning of domain knowledge, the goal of the Professional Environments 2 module is to prepare students for professional practice in their respective domains. They will develop the necessary project management and team-working skills, and, by working as a team on an authentic industrial project, they will gain a high degree of familiarity with the typical requirements capture, design, and development methodologies relevant to their discipline. With the focus on making real-world artefacts, the students will integrate their work into an employment focused portfolio.

    Being a professional practitioner also mean critically assessing both goals and solutions from legal, ethical and societal perspectives as well as addressing security and safety concerns. Students are also encouraged to consider their continuing professional development needs and to engage with their professional bodies. To encourage career management skills and promote employability after graduation, students are expected to integrate the artefacts they produce and reflective practice narratives into their employability portfolios and personal development plans.

    The module is designed to support different domain areas and to integrate experience from other professions. The subject areas being studied demand a global perspective which encourages the inclusion of our diverse of communities and national practices.

    Read full module description

  • Please choose two optional modules.

    • This module seeks to extend your understanding and proficiencies in the fundamental concepts of programming, giving you the ability to build complex applications across a variety of platforms and channels. You will be exposed to different programming paradigms including a comprehensive treatment of the object-oriented paradigm, selection and use of data structures, use of libraries and APIs including user interface components. It will also introduce important tools and techniques used by software development teams in such as integrated development environments, revision control systems, dependency management, code profiling and optimisation techniques. Although the module focuses on the implementation stage, it links the implementation with different software development methodologies. It also provides links with the other stages of the software development life cycle.

    • This is an optional module intended for undergraduate students who are studying computing-related subjects.

      HCI is the core academic discipline that examines the relationship and interface between human and computer. It informs and provides the theoretical and methodological foundation for user experience, the professional discipline which is practically applied. Although this module forms part of the user experience guided pathway it can be taken as a standalone module.

      You will explore major themes in HCI from both a theoretical and a practical perspective. The module will establish an understanding of key concepts within HCI theory and methods, and examines techniques for HCI design and evaluation. It offers you a practical domain in which to apply knowledge and skills, including those from other modules, to the design, implementation and analysis of interfaces between people and computer systems. You will undertake practical exercises in which you will evaluate real-world problems to identify user experience issues. You will utilise the synthesis of data from methods which explore user needs and requirements and also users' cognitive models to build a suite of artefacts eg. personas, user journeys, empathy maps etc which will inform a prototyping phase. This process involves iteratively building on low, medium and high fidelity prototypes of increasing complexity and levels of iteration. Thus  you will synthesise theory and empirical data to build your prototypes of a redesign solution to usability issues. These artefacts will iteratively and incrementally inform a user centred design.

      Read full module description

    • This module seeks to establish the skills required to build full-stack database-driven web applications. You will learn how to design, build and query databases according to user information needs using logical data models and structured query language (SQL). You will also learn how to design and build scalable interactive applications that are delivered over the web and integrated with a backend database.

      Read full module description

    • With a strong emphasis on understanding the Internet protocols, the Networking Concepts module will develop your understanding of the basic principles of networking.

      You will become familiar with current LAN and WAN technologies and their role in building domestic and corporate networks. This knowledge will underpin the skills required to design and simulate small company networks including identifying the physical components required and to design an appropriate IP addressing schemes for such network.

      It will also underpin your understanding of how network services such as mobile apps and network-based games are implemented.

      Read full module description


Optional sandwich year

Year 3/4

  • The goal of the module is to further develop skills in organisation, timekeeping, research literature, developing and critically analysing results as well as reporting work verbally and in a written format. The end result will be an artefact or artefacts which demonstrate creativity and technical competence as well as a technical report.

    Read full module description

  • Choose three optional modules.

    • This module aims to provide a strong theoretical and practical background necessary for students to build high quality scalable software and to operate effectively as an industry professional.

      It examines software quality concepts necessary to build high quality software architecture. The module introduces students to the concept of software architecture and architectural patterns as part of software design and reuse which can be viewed as components and interfaces.

      At a lower level, programming models and paradigms are explored, as well as design patterns and anti-patterns. Testing strategies and other software quality principles will also be covered, and students will explore these principles in the context of practical projects which expose them to industry tools, practices and management methodologies.

      Read full module description

    • While this module provides a foundation for careers in mobile application development, mobile is becoming increasingly ubiquitous and the skills taught also have applications in UX, web development and software engineering in general. Although there are no prerequisites, it is assumed that students have acquired a general familiarity with programming and software development principles through their previous study.

      The module is divided into two phases. In the first phase of the module students will be introduced to software development for the two major mobile platforms. This will cover development environments for these platforms, UI conventions, building and deploying simple applications. Students will then be introduced to cross platform development environments for mobile development.

      Finally, standard frameworks for mobile web development will be introduced. The second phase of the module is organised around a practical project. Students will choose one of the platforms on which to build a mobile application of their choice. This project students gives students the opportunity to specialise and explore their chosen platform in greater depth, acquiring the knowledge and proficiency to be able to design and build complex mobile apps. Students will be encouraged to publish their apps in one or both (in the case of a cross-platform app) of the two major app stores, thus providing an introduction to mobile application delivery and distribution.

      Read full module description

    • Programming is a central activity of software development, which encompasses a wide range of languages, environments and specialisms.

      This module will offer students the opportunity to acquire a useful competence across this range. The first teaching block will cover aspects of language, algorithms, tools, test-driven methodologies, and a range of user interface technologies.

      The second teaching block will apply these themes across a range of technologies and application environments, focusing on web and mobile in particular. Assessment will include computer-based in-class tests and e-portfolios of student achievement that allow them to curate and share their passion for programming.

      Read full module description

    • This module will consolidate and build on previously acquired knowledge of databases by analysing and evaluating important issues in the database area. In addition, advanced aspects of data warehousing and data mining will be studied, encompassing the principles and commercial application of the technologies.

      Read full module description

    • Focusing on current and future networks, the Internet Services and Protocols module will develop your understanding of how the traditional Internet protocol suite achieves the interconnection of geographically separated things (being computer, tablets, smartphone or sensors) over networks of arbitrary topology and technology.

      The principles of wireless systems design and EM waves propagation will underpin the study of the main attributes and characteristics of the modern wireless technologies, such as LTE, Wi-Max, Wi-Fi and Wi-Fi ad-hoc networks.

      This knowledge will provide the skills required to design such complex networks, including identifying the physical components required and designing appropriate network addressing schemes. The concepts of Quality of Service (QoS) and Quality of Experience (QoE) will be introduced and applied to different services and network architectures. The principles of encoding and transmission of multimedia content over the Internet will be studied and applied to recent multimedia Internet services.

      Read full module description

    • Entrepreneurship is a major driving force in creating economic growth and this module illustrates how to work in an entrepreneurial fashion. At the heart of entrepreneurship is innovation which can come in many forms. Sometimes this can be an incremental but generally gives significant improvement to the customer or alternatively as a new breakthrough or transformational innovation. Incremental innovation is aimed at increasing the value of a product or service, to add more value and thereby creating new and superior value chains. Breakthrough innovation often creates new categories of product or transforms the historical ways of doing things.

      From this foundation, the module proceeds to explain how to develop a strategy not only to satisfy the critical needs that organizations have, but also aims to explore the application and use of improved value chains using the concepts of corporate venturing (spin-out/intrapreneurship) and Entrepreneurship (new venture creation). However it is not simple to start a new company. Especially the Tech branch is characterized by fast developments, shifts of focus and low barriers to entry, where holding back from "bleeding edge" is essential and is one of the important differentiating factors between Tech Entrepreneurship and other forms of entrepreneurship. This means that one can no longer count on "good luck", but insight, understanding, knowledge and a systematic approach all have to be learnt.

      This module will equip participants with the concepts needed for roles in analysis, consultancy and management in technology environments, plus the necessary knowledge to work successfully in an innovative company, as well as providing a good background for new venture creation (Entrepreneurship) for those considering self-employment or founding new technology firms


      Read full module description


You will have the opportunity to study a foreign language, free of charge, during your time at the University on a not-for-credit basis as part of the Kingston Language Scheme. Options currently include: Arabic, French, German, Italian, Japanese, Mandarin, Portuguese, Russian and Spanish.

Most of our undergraduate courses support studying or working abroad through the University's Study Abroad or Erasmus programme.

Find out more about where you can study abroad:

If you are considering studying abroad, read what our students say about their experiences.

Key information set

The scrolling banner(s) below display some key factual data about this course (including different course combinations or delivery modes of this course where relevant).

We aim to ensure that all courses and modules advertised are delivered. However in some cases courses and modules may not be offered. For more information about why, and when you can expect to be notified, read our Changes to Academic Provision.

A copy of the regulations governing this course is available here

Details of term dates for this course can be found here

Contact our admissions team

Submit an enquiry

020 3308 9931*

*Calls cost 7p per minute from a UK landline plus your phone company's access charge. Calls to this number from mobiles are normally deductible from your inclusive minutes.


This course is taught at Penrhyn Road

View Penrhyn Road on our Google Maps

Contact our admissions team

Submit an enquiry

020 3308 9931*

*Calls cost 7p per minute from a UK landline plus your phone company's access charge. Calls to this number from mobiles are normally deductible from your inclusive minutes.


This course is taught at Penrhyn Road

View Penrhyn Road on our Google Maps
Favourite this course

Did you find what you are looking for?

This field is required.


Thank you for your feedback.

Find a course

Course finder


Computer science graduate helps develop high-end apps

Computer Science graduate helps leading creative design agency develop high-end appsKingston graduate, Mateusz Stawecki, has tapped into the rapid growth in smartphones and tablets to help a leading creative design agency capitalise on the fast-changing market. He was recruited to create and implement the new technologies and business models and all the apps Mateusz designed were featured in the Sunday Times' top 500 apps in the world.

Read the full story.

Find us on Facebook

Undergraduate study
Site menu