Key Information

Full-time

4-5 years

Part-time

8 years

Typical Offer

View

Campus

Brayford Pool

Validation Status

Validated

Fees

View

UCAS Code

G404

Course Code

CMPCMSUM

Key Information

Full-time

4-5 years

Part-time

8 years

Typical Offer

View

Campus

Brayford Pool

Validation Status

Validated

Fees

View

UCAS Code

G404

Course Code

CMPCMSUM

MComp Computer Science MComp Computer Science

The University of Lincoln is ranked in the top 20 in the UK for overall student satisfaction in the Complete University Guide 2022.

Key Information

Full-time

4-5 years

Part-time

8 years

Campus

Brayford Pool

Validation Status

Validated

Fees

View

UCAS Code

G404

Course Code

CMPCMSUM

Key Information

Full-time

4-5 years

Part-time

8 years

Campus

Brayford Pool

Validation Status

Validated

Fees

View

UCAS Code

G404

Course Code

CMPCMSUM

Select Year of Entry

Dr Mark Doughty - Programme Leader

Dr Mark Doughty - Programme Leader

Dr Doughty teaches at undergraduate and postgraduate level and focuses upon programming and software engineering. He also manages the third and fourth year projects. His interests lie in cultural and social computing and how we can generate cultural artefacts from computing sources.

School Staff List

Welcome to MComp Computer Science

Society is in the midst of a digital revolution, from the smartphones we use to navigate our daily lives to the advances in artificial intelligence set to transform global industries.

The MComp Computer Science degree is a four-year, integrated Master's degree designed to develop the experience, skills, and knowledge to research, design, and develop a variety of software and hardware computing solutions for real-world problems.

Particular attention is paid to cutting-edge topics, such as artificial intelligence and machine learning, in addition to core computer science disciplines. As an integrated Master's student you can undertake advanced studies in topics such as artificial intelligence, programming, and computer vision. This aims to ensure that your studies are at the forefront of research in the field and meeting the needs of the computing industry. In addition, students are encouraged to work with academics on research projects as well as developing research skills that contribute toward independent project work with a significant research component.

This degree aims to provide a broad foundation in computer science and provides students with the chance to develop the mathematical, analytical, and problem-solving skills required to succeed in the challenging and exciting modern computing industry. The degree covers digital technologies such as big data, cloud computing, artificial intelligence, and robotics, which are currently driving advances in all aspects of the modern world. As such, those with expertise in these areas of computer science may find employment and develop careers in a wide range of sectors such as finance, healthcare, telecommunications, power and energy, and cyber security.

Welcome to MComp Computer Science

Society is in the midst of a digital revolution, from the smartphones we use to navigate our daily lives to the advances in artificial intelligence set to transform global industries.

The MComp Computer Science degree is a four-year, integrated Master's degree designed to develop the experience, skills, and knowledge to research, design, and develop a variety of software and hardware computing solutions for real-world problems.

Particular attention is paid to cutting-edge topics, such as artificial intelligence and machine learning, in addition to core computer science disciplines. As an integrated Master's student you can undertake advanced studies in topics such as artificial intelligence, programming, and computer vision. This aims to ensure that your studies are at the forefront of research in the field and meeting the needs of the computing industry. In addition, students are encouraged to work with academics on research projects as well as developing research skills that contribute toward independent project work with a significant research component.

This degree aims to provide a broad foundation in computer science and provides students with the chance to develop the mathematical, analytical, and problem-solving skills required to succeed in the challenging and exciting modern computing industry. The degree covers digital technologies such as big data, cloud computing, artificial intelligence, and robotics, which are currently driving advances in all aspects of the modern world. As such, those with expertise in these areas of computer science may find employment and develop careers in a wide range of sectors such as finance, healthcare, telecommunications, power and energy, and cyber security.

How You Study

In the first year, students have the opportunity to study the fundamental areas of computer science. This includes operating systems, maths for computing, and computer architectures.

The second year aims to build on this foundation, covering artificial intelligence, database systems and networking, with industry certification opportunities available to students for topics such as database systems, networking, and software development. Students will also have the opportunity to work on a group project in the Team Software Engineering module.

In the third year, students study topics such as machine learning, Big Data, and parallel programming. Additionally, students can choose a number of optional areas of study that are of specific interest, such as autonomous mobile robotics, logic and computation, cloud computing, cross-platform development, or cyber security. Third-year students will also be expected to undertake a substantial individual project on a topic of interest.

Students who choose this four-year MComp programme also have the opportunity to study a range of optional modules at Masters level and to complete a research-driven project with real-world applications in an area of individual interest.

What You Need to Know

We want you to have all the information you need to make an informed decision on where and what you want to study. To help you choose the course that’s right for you, we aim to bring to your attention all the important information you may need. Our What You Need to Know page offers detailed information on key areas including contact hours, assessment, optional modules, and additional costs.

Find out More

How You Study

In the first year, students have the opportunity to study the fundamental areas of computing science. This includes operating systems, maths for computing, and computer architectures.

The second year aims to build on this foundation, covering artificial intelligence, database systems and networking, with industry certification opportunities available to students for topics such as database systems, networking, and software development. Students will also have the opportunity to work on a group project in the Team Software Engineering module.

In the third year, students study topics such as machine learning, Big Data, and parallel programming. Additionally, students can choose a number of optional areas of study that are of specific interest, such as autonomous mobile robotics, cloud computing, cross-platform development, or cyber security. Third-year students will also be expected to undertake a substantial individual project on a topic of interest.

Students who choose this four-year MComp programme also have the opportunity to study a range of optional modules at Masters level and to complete a research-driven project with real-world applications in an area of individual interest.

What You Need to Know

We want you to have all the information you need to make an informed decision on where and what you want to study. To help you choose the course that’s right for you, we aim to bring to your attention all the important information you may need. Our What You Need to Know page offers detailed information on key areas including contact hours, assessment, optional modules, and additional costs.

Find out More

Teaching and Learning During Covid-19

Information for Offer Holders Joining Us in Autumn 2021

Letter from Acting Head of School of Computer Science

We are delighted you are interested in joining us at the University of Lincoln and I am writing to let you know about our planning for the new academic year. You currently have an offer of a place at the University and we want to keep you updated so you can start preparing for your future, should you be successful in meeting any outstanding conditions of your offer.

We fully intend your experience with us at Lincoln will be engaging, supportive and academically challenging. We are determined to provide our students with a safe and exciting campus experience, ensuring you benefit from the best that both face-to-face and online teaching offer. We have kept our focus on friendliness and community spirit at Lincoln and we look forward to your participation in that community.

As you know, the UK Government has published its roadmap for the easing of Coronavirus lockdown restrictions in England. There are still some uncertainties for universities around possible restrictions for the next academic year, particularly in relation to social distancing in large group teaching. We are planning in line with government guidance for both face-to-face and online teaching to ensure you have a good campus experience and can complete all the requirements for your programme.  We are fully prepared to adapt and flex our plans if changes in government regulations make this necessary during the year.

Face-to-face teaching and interaction with tutors and course mates are key to students’ learning and the broader student experience. Face-to-face sessions will be prioritised where it is most valuable, particularly for seminars, tutorials, workshops, practicals and lab sessions. Students tell us that there are real benefits to some elements of online learning within a blended approach, such as revisiting recorded materials and developing new digital skills and confidence.  At Lincoln we aim to take forward the best aspects of both.

This letter sets out in detail various aspects of the planned experience at Lincoln for your chosen subject area, and we hope the information is helpful as you plan for your future.

Teaching and Learning

The School of Computer Science uses a mix of online and face to face activities as part of our teaching and learning strategy. Over the past year we have learnt a lot about the value of this approach and used it to enhance the learning opportunities for our students. Your practical/workshop sessions will be mostly held on campus, with some of your more theoretical content taking place online. This approach allows us to capitalise on the best of both learning mediums. As with teaching, you will be assessed and your progress measured through your curriculum in using a range of methods such as tests and exams, essay/report writing and oral presentations. Dependent on the public health guidance available at the time, we can conduct assessments in either a face to face or online format.

In addition to your module studies, The School will also run several extracurricular activities to help you develop your portfolio of knowledge and skills; including enhancement weeks, where you will be exposed to guest lectures from a range of exciting speakers. The enhancement weeks were well received by our students in this past year.

You will also have access to a range of pastoral support sessions. You will have a personal tutor who will meet on you an individual basis to support you with your development as a university learner. We also host two excellent student-led societies, the Computer Science Society, and the Games Computing Society.  Furthermore, your programme leader will organise a range of course-wide activities for you to participate in. The community at the School of Computer Science is our proudest asset, and we look forward to welcoming you as a member!

The University Campus

We are very proud of our beautiful and vibrant campuses at the University of Lincoln and we have used our extensive indoor and outdoor spaces to provide students with access to study and social areas as well as learning resources and facilities, adapting them where necessary in line with government guidance. All the mitigations and safety measures you would expect are in place on our campuses (at Lincoln, Riseholme and Holbeach), such as hand sanitisers, one-way systems, and other social distancing measures where these are required.

Student Wellbeing and Support

The University’s Student Wellbeing Centre and Student Support Centre are fully open for face-to-face and online support. Should you, as one of our applicants, have any questions about coming to Lincoln in October or any other concerns, these specialist teams are here for you. You can contact Student Wellbeing and the Student Support Centre by visiting https://studentservices.lincoln.ac.uk where service details and contact information are available, or if you are in Lincoln you can make an appointment to meet a member of the team.

To enable you to make the most out of your experience in Lincoln and to help you access course materials and other services, we recommend that you have a desktop, laptop or tablet device available during your studies. This will enable you to engage easily with our online learning platforms from your student accommodation or from home. Students can use IT equipment on campus in the Library, our learning lounges, and specialist academic areas; however, there may not always be a space free when you have a timetabled session or an assessment to complete which is why we recommend you have your own device too, if possible. If you are struggling to access IT equipment or reliable internet services, please contact ICT for technical support and Student Support who can assist you with further advice and information.

We are committed to providing you with the best possible start to university life and to helping you to prepare for your time with us. As part of this commitment, you can access our Student Life pre-arrival online support package. This collection of digital resources, advice and helpful tips created by current students is designed to help you prepare for the all-important first steps into higher education, enabling you to learn within a supportive community and to make the most of the new opportunities that the University of Lincoln provides. When you are ready, you can begin by going to studentlife.lincoln.ac.uk/starting.

Students’ Union

Your Students’ Union is here to make sure that you get the most from every aspect of your student experience. They will be providing a huge range of in-person and virtual events and opportunities - you are sure to find something perfect for you! Meet people and find a new hobby by joining one of their 150 sports teams and societies. Grab lunch between teaching or a drink with friends in The Swan, Towers or The Barge. Learn new skills and boost your CV by taking part in training courses and volunteering opportunities in your spare time. Grab a bike from the Cycle Hire and explore the city you will be calling home.

To kick-off the new academic year, your Students’ Union will be bringing you The Official Lincoln Freshers Week 2021, with a huge line-up of social events, club nights, fayres and activities for you enjoy (restrictions permitting). Keep an eye on www.facebook.com/lincolnfreshers21 for line-up and ticket updates, so you don’t miss out.

Most importantly, your Students’ Union will always be there for you when you need it most; making sure that your voice as a student is always heard. The SU Advice Centre can provide independent advice and support on housing, finance, welfare and academic issues. As well as this, your Course Representatives are always on hand to make sure that you are getting the best from your academic experience. To find out more about the Students’ Union’s events, opportunities, support and how to get in contact go to: www.lincolnsu.com.

Student Accommodation

Many applicants will choose to live in dedicated student accommodation on, or close to, campus and you may well have already booked your student residence for the upcoming year. All University-managed student accommodation will have our Residential Wardens in place. Residential Wardens are here to help you settle into your new accommodation and will be offering flatmate and residential support activities throughout the year. If you have booked University accommodation, you will have already heard from us with further details on where you will be living to help you prepare. If you have not yet booked your accommodation, we still have plenty of options available. In the meantime, lots of advice and information can be found on the accommodation pages of our website.

The information detailed in this letter will form part of your agreement with the University of Lincoln. If we do not hear from you to the contrary prior to enrolment, we will assume that you acknowledge and accept the information contained in this letter. Adaptations to how we work may have to be made in line with any future changes in government guidance, and we will communicate these with you as necessary. Please do review the University’s Admissions Terms and Conditions (in particular sections 8 and 9) and Student Complaints Procedure so you understand your rights and the agreement between the University and its students.

We very much hope this information is useful to help you plan for the next step in your academic journey, and we look forward to welcoming you here at Lincoln this Autumn. This is the start of a new phase and will be an exciting time for all of us. If you have any questions, please do email me at salmajeed@lincoln.ac.uk.

Dr Salah Al-Majeed

Acting Head of the School of Computer Science

† Some courses may offer optional modules. The availability of optional modules may vary from year to year and will be subject to minimum student numbers being achieved. This means that the availability of specific optional modules cannot be guaranteed. Optional module selection may also be affected by staff availability.

Research Methods (MSc Computer Science) 2025-26CMP9139MLevel 72025-26This module is designed to cover the fundamental skills and background knowledge that students need to undertake research related to the title of the award being studied, including: surveying literature; selecting and justifying a research topic; planning of research; selection of appropriate research methods; evaluation of research; presentation and reporting of research; and legal, social, ethical and professional considerations.CoreAdvanced Artificial Intelligence 2025-26CMP9132MLevel 72025-26This module aims to cover the theoretical fundamentals and practical applications of decision-making, problem-solving and learning abilities in software agents. Search is introduced as a unifying framework for Artificial Intelligence (AI), followed by key topics including blind and informed search algorithms, planning and reasoning, both with certain and uncertain (e.g. probabilistic) knowledge. Practical exercises in AI programming will complement and apply the theoretical knowledge acquired to real-world problems.OptionalAdvanced Programming 2025-26CMP9133MLevel 72025-26This module aims to explore advanced topics using a contemporary object-oriented programming language. The objective is to prepare students for professional-level programming in scientific and commercial computing, and to support programming tasks in other modules of this award. Students can explore a range of programming topics through a series of lectures and practical workshops, and will work on producing an individual programming assignment.OptionalCloud Development 2025-26CMP9785MLevel 72025-26OptionalComputer Vision 2025-26CMP9135MLevel 72025-26This module aims to explore current methodologies in the field of computer vision, covering a range of aspects in capturing, processing, analysing and interpreting rich visual content. The aim is to offer students with a deep understanding and to allow an exposure to the latest developments in computer vision, equipping them with knowledge in practical depth. The module will also provide the opportunity for training in programming skills (e.g. Matlab), tools and methods that are necessary for the implementation of computer vision systems. The module will also cover applications of computer vision in various fields, such as in object recognition/tracking, medical image analysis, multimedia indexing and retrieval and intelligent surveillance systems, allowing the students the opportunity to establish a full awareness to the technology advance in this rapidly evolving field.OptionalAlgorithms and Complexity 2022-23CMP1124MLevel 42022-23The module aims to introduce the concepts of Algorithms and Complexity, providing an understanding of the range of applications where algorithmic solutions are required. Students will have the opportunity to be introduced to the analysis of time and space efficiency of algorithms; to the key issues in algorithm design; to the range of techniques used in the design of various types of algorithms. Students can also be introduced to relevant theoretical concepts around algorithms and complexity in the lectures, together with a practical experience of implementing a range of algorithms in the workshops.CoreComputer Architectures 2022-23CMP1125MLevel 42022-23This module aims to introduce the fundamentals of computer hardware underpinning the key aspects of Computer Science. This knowledge is not only essential for deeper understanding of the governing processes behind computing but also for realising how hardware interacts with software. By studying Computer Architecture, students can gain greater confidence in their study subject and future benefits when improving their programming skills. The module will study the individual components of a computer system, their function, main characteristics, performance and their mutual interaction. Examples of the practical application of the skills developed in this module are given utilising a range of computing applications, including but not restricted to the domains of Games and Social Computing applications.CoreMaths for Computing 2022-23CMP1036MLevel 42022-23This module aims to equip students with mathematical knowledge and skills required to design and develop computer systems and software.CoreObject-Oriented Programming 2022-23CMP1903MLevel 42022-23This module extends the concepts and practice of simple computer programming, with attention paid to the essentials that constitute an object-oriented computer program including layout, structure, and functionality. The module aims to extend students' knowledge of computer programming and introduces them to the object-oriented paradigm and related concepts applied to algorithm and software development. There is also emphasis upon the use of version control and its role in archiving and facilitating software development.CoreOperating Systems 2022-23CMP1005MLevel 42022-23In this module students will have the opportunity to study both the theoretical design concepts which underpin all operating systems and, through case studies, the practical implementation techniques of current operating systems. Special attention will be given to shell programming languages and examples, to practically implement concepts and techniques at the basis of the various operating systems.CoreProblem Solving 2022-23CMP1032MLevel 42022-23Problems are a natural occurrence in an organisational context and this module aims to introduce students to problem solving from a mixture of theoretical and practical underpinnings. The module examines the principles of abstraction, decomposition, modelling and representation as a means to frame and characterise problem scenarios, and as tools to understand potential solutions. The module concentrates on problem-solving strategies and in particular the vocabulary through which these strategies are articulated. This type of vocabulary is explored as representational device for capturing organisational behaviour and form.CoreProgramming Fundamentals 2022-23CMP1902MLevel 42022-23This module introduces students to software constructs and the development of simple programs using a high-level programming language. Simple design concepts and standard programming practices are presented, and attention is paid to the fundamentals that constitute a complete computer program including layout, structure, and functionality. Additionally, the fundamental computing data structures allowing the representation of data in computer programs are explored and implemented.CoreAdvanced Programming 2023-24CMP2801MLevel 52023-24This module aims to provide a comprehensive analysis of the general principles and practices of advanced programming with respect to software development. Notions and techniques of advanced programming are emphasised in the context of analysis, design, and implementation of software and algorithms. Great importance is placed upon the Object-Oriented paradigm and related concepts applied to algorithm and software development using the C++ programming language, however students will also be exposed to the principles and underlying theories pertaining to functional programming.CoreArtificial Intelligence 2023-24CMP2020MLevel 52023-24This module aims to provide a basic introduction to the field of Artificial Intelligence (AI). The module first considers the symbolic model of intelligence, exploring some of the main conceptual issues, theoretical approaches and practical techniques. The module further explores knowledge-based systems such as expert systems, which mimic human reasoning performance by capturing knowledge of a domain and integrating it to deliver a performance comparable to that of a human practitioner. Modern developments such as artificial neural networks and uncertain reasoning are also covered using probability theory, culminating in a practical understanding of how to apply AI techniques in practice using logic programming.CoreCloud Computing 2023-24CMP2808MLevel 52023-24CoreNetwork Fundamentals 2023-24CMP2803MLevel 52023-24This module considers basic computer communications and networking with an emphasis on the Internet Protocol. The module examines the Internet Protocol as a model for intercommunication in modern network implementations. Additionally the module examines fundamental design features of a Network Protocol and the need to implement security in the modern Internet. The module adopts a standards driven approach and determines methods used in modern network systems for the distribution of data. An emphasis on network infrastructure and protocols underpins the module together with basic security considerations important in modern network architectures. Aspects of security concepts are extended to consider mechanisms that counter various forms of threat that exist from different sources.CoreScalable Database Systems 2023-24CMP2806MLevel 52023-24This module explores the fundamental concepts of designing, implementing, and using database technologies and students are expected to develop a conceptual view of database theory and then transform it into a practical design of a database application. Alternate design principles for implementing databases for different uses, for example in social media or gaming contexts are also considered.CoreTeam Software Engineering 2023-24CMP2804MLevel 52023-24This module aims to provide students with experience of working as part of a team within a simulated commercial setting. Students have the chance to go through the key phases of software development from ideation through to development, testing, delivery, and publishing. Throughout the module students can learn how to manage and deliver commercial software development projects. This will include ethical, social and professional issues, project management, communication, time management, and team-working strategies. The module aims to further skills developed in the first year and places them in a simulated commercial setting. The final piece of work produced as part of the software development process should be suitable for inclusion within a professional portfolio.CoreUser Experience Design 2023-24CMP2805MLevel 52023-24This module provides students with the opportunity to develop knowledge of the processes and principles of Human-Computer Interaction (HCI) and User Experience Design (UXD) starting with a history and overview of the role HCI in furthering the field of computer science. The module will guide students through notions of usability and accessibility, user-centred design and requirements analysis, prototyping, statistical analysis, and qualitative evaluation using state of the art methods and techniques. The professional, ethical, social, and legal issues in designing and studying interactive technology will be considered throughout.CoreStudy Period Abroad: Computer Science 2023-24CMP2079MLevel 52023-24OptionalBig Data 2024-25CMP3749MLevel 62024-25The module introduces the fundamentals of data science and big data analytics, an emergent specialised area of computer science that is concerned with knowledge on Big Data mining and visualisation, including state-of-the-art database platforms, development toolkits, and industrial and societal application scenarios. Students can be exposed to core Big Data analytics concepts and models, the current technology landscape, and topical application scenarios using a variety of simulation environments and open datasets.CoreMachine Learning 2024-25CMP3751MLevel 62024-25The module introduces the fundamentals of machine learning and principled application of machine learning techniques to extract information and insights from data. The module covers supervised and unsupervised learning methods. The primary aim is to provide students with knowledge and applied skills in machine learning tools and techniques which can be used to solve real-world data science problems.CoreParallel Programming 2024-25CMP3752MLevel 62024-25Parallel Programming is an important modern paradigm in computer science, and a promising direction for keeping up with the expected exponential growth in the discipline. Executing multiple processes at the same time can tremendously increase computational throughput, not only benefiting scientific computations, but also leading to new exciting applications like real-time animated 3D graphics, video processing, and physics simulation. The relevance of parallel computing is especially prominent due to availability of modern, affordable computer hardware utilising multi-core and/or large number of massively parallel units.CoreProject 2024-25CMP3753MLevel 62024-25This module offers students the chance to demonstrate their ability to work independently on a significant, in-depth project requiring the coherent and critical application of computer science theory and skills. Students must initially produce a project proposal and related materials to frame the work, specifying clear, specific, academically justified, and appropriately scoped aims and objectives, as well as feasible means for fulfilling those aims and objectives. Students then work independently to fulfil those project goals. Throughout this process students are expected to demonstrate the application of practical development and analytical skills, innovation and/or creativity, and the synthesis of information, ideas and practices to generate a coherent problem solution.CoreAutonomous Mobile Robotics 2024-25CMP3103MLevel 62024-25The module aims to introduce the main concepts of Autonomous Mobile Robotics, providing an understanding of the range of processing components required to build physically embodied robotic systems, from basic control architectures to spatial navigation in real-world environments. Students will have the opportunity to be introduced to relevant theoretical concepts around robotic sensing and control in the lectures, together with a practical hands on approach to robot programming in the workshops.OptionalCloud Computing 2024-25CMP3747MLevel 62024-25This module explores core Cloud Computing areas such as elastic compute, containers, networking, and durable, highly available storage services. The underlying theory on cloud virtualisation, storage, containerisation, and load-balancing is discussed, providing students with the opportunity to gain skills across the main cloud patterns of Platform as a Service (PaaS), Infrastructure as a Service (IaaS), and Software as a Service (SaaS). Additionally, students will have the opportunity to develop skills in cloud based Development-Operations (DevOps), with emphasis on cloud scripting and automation using powerful command-line tools. The importance of interoperability will be a key theme of the module by using platform-agnostic approaches when designing and developing cloud services. The module will primarily focus on the PaaS and IaaS cloud patterns. The ethical, legal and security implications of cloud computing data storage are also discussed.OptionalCross-Platform Development 2024-25CMP3035MLevel 62024-25This module aims to provide students with knowledge on an alternative, and increasingly important, platform agnostic approach for mobile development. This approach embraces the use of cross-platform methods by developing applications with a single code base that run efficiently across distinct mobile platforms, with maximum code reuse and interoperability. Students will have the opportunity to investigate platform-dependent constraints by critiquing the emergent space of cross-platform tools and frameworks that aim to maximise code sharing between mobile platforms, whilst retaining common like-for-like sensor features such as geolocation, camera, storage and push notifications without compromising performance or overall user experience. Contemporary cross-platform tools will be adopted throughout the module for the creation of applications that bridge multiple mobile platforms.OptionalCyber Security 2024-25CMP3750MLevel 62024-25This module provides an understanding of the challenges in cyber security faced by society and industry. This includes an examination of the impact of threats and develops an understanding of mechanisms to reduce the risk of attack. The module examines a range of cyber threats and attack types and introduces strategies to mitigate these. It also prompts students to consider the legal, social, and ethical implications of cyber security.OptionalGraphics 2024-25CGP3018MLevel 62024-25This module introduces the student to the theory, principles, methods, and techniques of 3D computer graphics. The specialised mathematical underpinnings are explored along with their practical application in algorithms commonly used in videogame development. The development of skills in implementing computer graphic applications with modern, standard graphics pipelines encourages students to develop their programming skills while observing the theory of 3D graphics in practice. This is delivered through a hands-on games programming context where students will be encouraged to develop interactive 3D graphics applications using industry standard tools and technologies. This module aims to develop students' awareness and ability to implement and utilise mathematical approaches commonly seen in real-time systems such as videogames. In addition, modern graphical techniques will be explored, with reference to current industry practice, and students will be expected to demonstrate an ability to analyse requirements, systematically appraise existing methods, and employ critical-thinking in the development of their own pieces of work.OptionalImage Processing 2024-25CMP3108MLevel 62024-25Digital image processing techniques are used in a wide variety of application areas such as computer vision, robotics, remote sensing, industrial inspection, medical imaging, etc. It is the study of any algorithms that take image as an input and returns useful information as output. This module aims to provide a broad introduction to the field of image processing, culminating in a practical understanding of how to apply and combine techniques to various image-related applications. Students will have the opportunity to extract useful data from the raw image and interpret the image data the techniques will be implemented using the mathematical programming language Matlab or OpenCV.OptionalLogic and Computation 2024-25CMP3755MLevel 62024-25This module explores Computation Theory, including logics, definitions and models of computation, proofs about programs, proofs as programs, and limits on what is computable. The module will aim to develop critical-thinking and problem conceptualisation and solving skills, as well as the formal concepts used to structure computational thinking.OptionalPhysics Simulation 2024-25CGP3012MLevel 62024-25Realistic physics simulation is a key component for many modern technologies including computer games, video animation, medical imaging, robotics, etc. This wide range of applications benefiting from real-time physics simulation is a result of recent advances in developing new efficient simulation techniques and the common availability of powerful hardware. The main application area considered in this module is computer games, but the taught content has much wider relevance and can be applied to other areas of Computer Science.OptionalVirtual and Augmented Reality 2024-25CMP3754MLevel 62024-25In this module, students can develop their understanding of how to design and develop and applications for Virtual and Augmented Reality (VR/AR) platforms. The module will start by introducing students to underpinning theoretical concepts of user experience in VR platforms, such as immersion, presence, fidelity, and embodiment. These will be used as a framework to explore a wide range of applications, primarily training and education, medical applications, therapy, and entertainment. Fundamental design aspects will be introduced, such as interfaces and interactions, interactions with non-human characters, locomotion, and object manipulations. Within the context of training/education, design considerations relating to learning outcomes, knowledge transfer, and retention will be discussed. Students are expected to consider the role of fidelity in relation to safety critical training, such as medical applications, and the advantages of VR over traditional displays will also be considered. Students can also learn how to assess user experience in VR using a variety of tools (primarily self-report measures). Students can also look at limitations such as simulator sickness, and accessibility of movement-based interfaces. The AR section of this module will mirror the VR topics mentioned, and compare and contrast AR platforms with VR, to enable students to make appropriate platform choices. Alongside theoretical aspects, students can engage in parallel practical workshops, during which they will put into practice some of the concepts discussed in lectures. This will involve the use of appropriate development tools and platforms, and consideration of design aspects. Students have the chance to build an application during workshops, and use this as a tool to conduct an evaluation related to user experience.OptionalMComp Research Project 2025-26CMP9056MLevel 72025-26The MComp Research Project is an individual piece of work that expects students to apply and integrate theoretical knowledge and practical skills from the breadth of their experience with computer science sub-disciplines, in order to address a specific research question or questions formulated with support from academic staff. The form and nature of this project is negotiable, but at MComp Level 4 there are typically three types of Project that are undertaken: - Industrial Based Project work (typically engaged with through a work placement) - Client-based project delivery (typically with an approved client in either public, private or third sector partners, and with a clearly articulated delivery) - A research based project (typically done in conjunction with a member of academic staff in the School and with a clear linkage to research activity of the staff member but which could include collaborative projects with research groups at other Universities) The student can undertake work that is predominantly relevant to the ongoing research in one of the established research centres within the School of Computer Science. In all cases the Project supervisor will ensure that the study undertaken is suitably grounded within the programme title of each student.CoreAutonomous Mobile Robotics (M) 2025-26CMP9050MLevel 72025-26This module introduces the main concepts of Autonomous Mobile Robotics, providing an understanding of the range of processing components required to build physically embodied robotic systems, from basic control architectures to spatial navigation in real-world environments. Students are introduced to relevant theoretical concepts around robotic sensing and control in the lectures, together with a practical hands on approach to robot programming in the workshops. Working at Master's level, students can research the area in depth and produce critical reports of their findings.OptionalCloud Computing (M) 2025-26CMP9768MLevel 72025-26This module explores core Cloud Computing areas such as elastic compute, containers, networking, and durable, highly available storage services. The underlying theory on cloud virtualisation, storage, containerisation, and load-balancing is discussed, providing students with the opportunity to gain skills across the main cloud patterns of Platform as a Service (PaaS), Infrastructure as a Service (IaaS), and Software as a Service (SaaS). Additionally, students will have the opportunity to develop skills in cloud based Development-Operations (DevOps), with emphasis on cloud scripting and automation using powerful command-line tools. The importance of interoperability will be a key theme of the module by using platform-agnostic approaches when designing and developing cloud services. The module will primarily focus on the PaaS and IaaS cloud patterns. The ethical, legal and security implications of cloud computing data storage are also discussed.OptionalCross-Platform Development (M) 2025-26CMP9062MLevel 72025-26OptionalCyber Security (M) 2025-26CMP9771MLevel 72025-26This module provides an understanding of the challenges in cyber security faced by society and industry. This includes an examination of the impact of threats and develops an understanding of mechanisms to reduce the risk of attack. The module examines a range of cyber threats and attack types and introduces strategies to mitigate these. It also prompts students to consider the legal, social, and ethical implications of cyber security. As a Master's level module students are also encouraged to consider current research in the field of cyber security.OptionalGraphics (M) 2025-26CGP9024MLevel 72025-26This module introduces students to the theory, principles, methods, and techniques of 3D computer graphics. The specialised mathematical underpinnings are explored along with their practical application in algorithms commonly used in videogame development. The development of skills in implementing computer graphic applications with modern, standard graphics pipelines encourages students to develop their programming skills while observing the theory of 3D graphics in practice. This will be delivered through a hands-on games programming context where students will be encouraged to develop interactive 3D graphics applications using industry standard tools and technologies. This module aims to develop students' awareness and ability to implement and utilise mathematical approaches commonly seen in real-time systems such as videogames. In addition, modern graphical techniques will be explored, with reference to current industry practice and students will be expected to demonstrate an ability to analyse requirements, systematically appraise existing methods and employ critical thinking in the development of their own work.OptionalImage Processing (M) 2025-26CMP9055MLevel 72025-26This module aims to provide a broad introduction to the field of image processing, culminating in a practical understanding of how to apply and combine techniques to various image-related applications. Students are expected to be able to extract useful information from the raw image and interpret the image data. The techniques will be implemented using the mathematical programming language Matlab or OpenCV.OptionalLogic and Computation (M) 2025-26CMP9784MLevel 72025-26OptionalPhysics Simulation (M) 2025-26CGP9025MLevel 72025-26Realistic physics simulation is a key component for many modern technologies including computer games, video animation, medical imaging, and robotics. This wide range of applications benefiting from real-time physics simulation is a result of recent advances in developing new efficient simulation techniques and the common availability of powerful hardware. The main application area considered in this module is computer games, but the taught content has much wider relevance and can be applied to other areas of computer science.OptionalVirtual and Augmented Reality (M) 2025-26CMP9774MLevel 72025-26In this module student can develop and design applications for Virtual and Augmented Reality (VR/AR) platforms. Students can consider different areas of applications, including training, simulation, medical/therapeutic, games, and other interactive experiences. This will comprise theoretical aspects of design for VR/AR systems, including such topics as locomotion and control methods, representation of virtual worlds, and non-human characters. It will also cover practicalities of development and deployment using appropriate tools. Students can also look at limitations such as simulator sickness, and accessibility, and how to evaluate user experience. Students can build and test their own applications using VR and AR equipment.Optional

† Some courses may offer optional modules. The availability of optional modules may vary from year to year and will be subject to minimum student numbers being achieved. This means that the availability of specific optional modules cannot be guaranteed. Optional module selection may also be affected by staff availability.

Research Methods (MSc Computer Science) 2024-25CMP9139MLevel 72024-25This module is designed to cover the fundamental skills and background knowledge that students need to undertake research related to the title of the award being studied, including: surveying literature; selecting and justifying a research topic; planning of research; selection of appropriate research methods; evaluation of research; presentation and reporting of research; and legal, social, ethical and professional considerations.CoreAdvanced Artificial Intelligence 2024-25CMP9132MLevel 72024-25This module aims to cover the theoretical fundamentals and practical applications of decision-making, problem-solving and learning abilities in software agents. Search is introduced as a unifying framework for Artificial Intelligence (AI), followed by key topics including blind and informed search algorithms, planning and reasoning, both with certain and uncertain (e.g. probabilistic) knowledge. Practical exercises in AI programming will complement and apply the theoretical knowledge acquired to real-world problems.OptionalAdvanced Programming 2024-25CMP9133MLevel 72024-25This module aims to explore advanced topics using a contemporary object-oriented programming language. The objective is to prepare students for professional-level programming in scientific and commercial computing, and to support programming tasks in other modules of this award. Students can explore a range of programming topics through a series of lectures and practical workshops, and will work on producing an individual programming assignment.OptionalCloud Development 2024-25CMP9785MLevel 72024-25OptionalComputer Vision 2024-25CMP9135MLevel 72024-25This module aims to explore current methodologies in the field of computer vision, covering a range of aspects in capturing, processing, analysing and interpreting rich visual content. The aim is to offer students with a deep understanding and to allow an exposure to the latest developments in computer vision, equipping them with knowledge in practical depth. The module will also provide the opportunity for training in programming skills (e.g. Matlab), tools and methods that are necessary for the implementation of computer vision systems. The module will also cover applications of computer vision in various fields, such as in object recognition/tracking, medical image analysis, multimedia indexing and retrieval and intelligent surveillance systems, allowing the students the opportunity to establish a full awareness to the technology advance in this rapidly evolving field.OptionalAlgorithms and Complexity 2021-22CMP1124MLevel 42021-22The module aims to introduce the concepts of Algorithms and Complexity, providing an understanding of the range of applications where algorithmic solutions are required. Students will have the opportunity to be introduced to the analysis of time and space efficiency of algorithms; to the key issues in algorithm design; to the range of techniques used in the design of various types of algorithms. Students can also be introduced to relevant theoretical concepts around algorithms and complexity in the lectures, together with a practical experience of implementing a range of algorithms in the workshops.CoreComputer Architectures 2021-22CMP1125MLevel 42021-22This module aims to introduce the fundamentals of computer hardware underpinning the key aspects of Computer Science. This knowledge is not only essential for deeper understanding of the governing processes behind computing but also for realising how hardware interacts with software. By studying Computer Architecture, students can gain greater confidence in their study subject and future benefits when improving their programming skills. The module will study the individual components of a computer system, their function, main characteristics, performance and their mutual interaction. Examples of the practical application of the skills developed in this module are given utilising a range of computing applications, including but not restricted to the domains of Games and Social Computing applications.CoreMaths for Computing 2021-22CMP1036MLevel 42021-22This module aims to equip students with mathematical knowledge and skills required to design and develop computer systems and software.CoreObject-Oriented Programming 2021-22CMP1903MLevel 42021-22This module extends the concepts and practice of simple computer programming, with attention paid to the essentials that constitute an object-oriented computer program including layout, structure, and functionality. The module aims to extend students' knowledge of computer programming and introduces them to the object-oriented paradigm and related concepts applied to algorithm and software development. There is also emphasis upon the use of version control and its role in archiving and facilitating software development.CoreOperating Systems 2021-22CMP1005MLevel 42021-22In this module students will have the opportunity to study both the theoretical design concepts which underpin all operating systems and, through case studies, the practical implementation techniques of current operating systems. Special attention will be given to shell programming languages and examples, to practically implement concepts and techniques at the basis of the various operating systems.CoreProblem Solving 2021-22CMP1032MLevel 42021-22Problems are a natural occurrence in an organisational context and this module aims to introduce students to problem solving from a mixture of theoretical and practical underpinnings. The module examines the principles of abstraction, decomposition, modelling and representation as a means to frame and characterise problem scenarios, and as tools to understand potential solutions. The module concentrates on problem-solving strategies and in particular the vocabulary through which these strategies are articulated. This type of vocabulary is explored as representational device for capturing organisational behaviour and form.CoreProgramming Fundamentals 2021-22CMP1902MLevel 42021-22This module introduces students to software constructs and the development of simple programs using a high-level programming language. Simple design concepts and standard programming practices are presented, and attention is paid to the fundamentals that constitute a complete computer program including layout, structure, and functionality. Additionally, the fundamental computing data structures allowing the representation of data in computer programs are explored and implemented.CoreAdvanced Programming 2022-23CMP2801MLevel 52022-23This module aims to provide a comprehensive analysis of the general principles and practices of advanced programming with respect to software development. Notions and techniques of advanced programming are emphasised in the context of analysis, design, and implementation of software and algorithms. Great importance is placed upon the Object-Oriented paradigm and related concepts applied to algorithm and software development using the C++ programming language, however students will also be exposed to the principles and underlying theories pertaining to functional programming.CoreArtificial Intelligence 2022-23CMP2020MLevel 52022-23This module aims to provide a basic introduction to the field of Artificial Intelligence (AI). The module first considers the symbolic model of intelligence, exploring some of the main conceptual issues, theoretical approaches and practical techniques. The module further explores knowledge-based systems such as expert systems, which mimic human reasoning performance by capturing knowledge of a domain and integrating it to deliver a performance comparable to that of a human practitioner. Modern developments such as artificial neural networks and uncertain reasoning are also covered using probability theory, culminating in a practical understanding of how to apply AI techniques in practice using logic programming.CoreCloud Computing 2022-23CMP2808MLevel 52022-23CoreNetwork Fundamentals 2022-23CMP2803MLevel 52022-23This module considers basic computer communications and networking with an emphasis on the Internet Protocol. The module examines the Internet Protocol as a model for intercommunication in modern network implementations. Additionally the module examines fundamental design features of a Network Protocol and the need to implement security in the modern Internet. The module adopts a standards driven approach and determines methods used in modern network systems for the distribution of data. An emphasis on network infrastructure and protocols underpins the module together with basic security considerations important in modern network architectures. Aspects of security concepts are extended to consider mechanisms that counter various forms of threat that exist from different sources.CoreScalable Database Systems 2022-23CMP2806MLevel 52022-23This module explores the fundamental concepts of designing, implementing, and using database technologies and students are expected to develop a conceptual view of database theory and then transform it into a practical design of a database application. Alternate design principles for implementing databases for different uses, for example in social media or gaming contexts are also considered.CoreTeam Software Engineering 2022-23CMP2804MLevel 52022-23This module aims to provide students with experience of working as part of a team within a simulated commercial setting. Students have the chance to go through the key phases of software development from ideation through to development, testing, delivery, and publishing. Throughout the module students can learn how to manage and deliver commercial software development projects. This will include ethical, social and professional issues, project management, communication, time management, and team-working strategies. The module aims to further skills developed in the first year and places them in a simulated commercial setting. The final piece of work produced as part of the software development process should be suitable for inclusion within a professional portfolio.CoreUser Experience Design 2022-23CMP2805MLevel 52022-23This module provides students with the opportunity to develop knowledge of the processes and principles of Human-Computer Interaction (HCI) and User Experience Design (UXD) starting with a history and overview of the role HCI in furthering the field of computer science. The module will guide students through notions of usability and accessibility, user-centred design and requirements analysis, prototyping, statistical analysis, and qualitative evaluation using state of the art methods and techniques. The professional, ethical, social, and legal issues in designing and studying interactive technology will be considered throughout.CoreStudy Period Abroad: Computer Science 2022-23CMP2079MLevel 52022-23OptionalBig Data 2023-24CMP3749MLevel 62023-24The module introduces the fundamentals of data science and big data analytics, an emergent specialised area of computer science that is concerned with knowledge on Big Data mining and visualisation, including state-of-the-art database platforms, development toolkits, and industrial and societal application scenarios. Students can be exposed to core Big Data analytics concepts and models, the current technology landscape, and topical application scenarios using a variety of simulation environments and open datasets.CoreMachine Learning 2023-24CMP3751MLevel 62023-24The module introduces the fundamentals of machine learning and principled application of machine learning techniques to extract information and insights from data. The module covers supervised and unsupervised learning methods. The primary aim is to provide students with knowledge and applied skills in machine learning tools and techniques which can be used to solve real-world data science problems.CoreParallel Programming 2023-24CMP3752MLevel 62023-24Parallel Programming is an important modern paradigm in computer science, and a promising direction for keeping up with the expected exponential growth in the discipline. Executing multiple processes at the same time can tremendously increase computational throughput, not only benefiting scientific computations, but also leading to new exciting applications like real-time animated 3D graphics, video processing, and physics simulation. The relevance of parallel computing is especially prominent due to availability of modern, affordable computer hardware utilising multi-core and/or large number of massively parallel units.CoreProject 2023-24CMP3753MLevel 62023-24This module offers students the chance to demonstrate their ability to work independently on a significant, in-depth project requiring the coherent and critical application of computer science theory and skills. Students must initially produce a project proposal and related materials to frame the work, specifying clear, specific, academically justified, and appropriately scoped aims and objectives, as well as feasible means for fulfilling those aims and objectives. Students then work independently to fulfil those project goals. Throughout this process students are expected to demonstrate the application of practical development and analytical skills, innovation and/or creativity, and the synthesis of information, ideas and practices to generate a coherent problem solution.CoreAutonomous Mobile Robotics 2023-24CMP3103MLevel 62023-24The module aims to introduce the main concepts of Autonomous Mobile Robotics, providing an understanding of the range of processing components required to build physically embodied robotic systems, from basic control architectures to spatial navigation in real-world environments. Students will have the opportunity to be introduced to relevant theoretical concepts around robotic sensing and control in the lectures, together with a practical hands on approach to robot programming in the workshops.OptionalCloud Computing 2023-24CMP3747MLevel 62023-24This module explores core Cloud Computing areas such as elastic compute, containers, networking, and durable, highly available storage services. The underlying theory on cloud virtualisation, storage, containerisation, and load-balancing is discussed, providing students with the opportunity to gain skills across the main cloud patterns of Platform as a Service (PaaS), Infrastructure as a Service (IaaS), and Software as a Service (SaaS). Additionally, students will have the opportunity to develop skills in cloud based Development-Operations (DevOps), with emphasis on cloud scripting and automation using powerful command-line tools. The importance of interoperability will be a key theme of the module by using platform-agnostic approaches when designing and developing cloud services. The module will primarily focus on the PaaS and IaaS cloud patterns. The ethical, legal and security implications of cloud computing data storage are also discussed.OptionalCross-Platform Development 2023-24CMP3035MLevel 62023-24This module aims to provide students with knowledge on an alternative, and increasingly important, platform agnostic approach for mobile development. This approach embraces the use of cross-platform methods by developing applications with a single code base that run efficiently across distinct mobile platforms, with maximum code reuse and interoperability. Students will have the opportunity to investigate platform-dependent constraints by critiquing the emergent space of cross-platform tools and frameworks that aim to maximise code sharing between mobile platforms, whilst retaining common like-for-like sensor features such as geolocation, camera, storage and push notifications without compromising performance or overall user experience. Contemporary cross-platform tools will be adopted throughout the module for the creation of applications that bridge multiple mobile platforms.OptionalCyber Security 2023-24CMP3750MLevel 62023-24This module provides an understanding of the challenges in cyber security faced by society and industry. This includes an examination of the impact of threats and develops an understanding of mechanisms to reduce the risk of attack. The module examines a range of cyber threats and attack types and introduces strategies to mitigate these. It also prompts students to consider the legal, social, and ethical implications of cyber security.OptionalGraphics 2023-24CGP3018MLevel 62023-24This module introduces the student to the theory, principles, methods, and techniques of 3D computer graphics. The specialised mathematical underpinnings are explored along with their practical application in algorithms commonly used in videogame development. The development of skills in implementing computer graphic applications with modern, standard graphics pipelines encourages students to develop their programming skills while observing the theory of 3D graphics in practice. This is delivered through a hands-on games programming context where students will be encouraged to develop interactive 3D graphics applications using industry standard tools and technologies. This module aims to develop students' awareness and ability to implement and utilise mathematical approaches commonly seen in real-time systems such as videogames. In addition, modern graphical techniques will be explored, with reference to current industry practice, and students will be expected to demonstrate an ability to analyse requirements, systematically appraise existing methods, and employ critical-thinking in the development of their own pieces of work.OptionalImage Processing 2023-24CMP3108MLevel 62023-24Digital image processing techniques are used in a wide variety of application areas such as computer vision, robotics, remote sensing, industrial inspection, medical imaging, etc. It is the study of any algorithms that take image as an input and returns useful information as output. This module aims to provide a broad introduction to the field of image processing, culminating in a practical understanding of how to apply and combine techniques to various image-related applications. Students will have the opportunity to extract useful data from the raw image and interpret the image data the techniques will be implemented using the mathematical programming language Matlab or OpenCV.OptionalLogic and Computation 2023-24CMP3755MLevel 62023-24This module explores Computation Theory, including logics, definitions and models of computation, proofs about programs, proofs as programs, and limits on what is computable. The module will aim to develop critical-thinking and problem conceptualisation and solving skills, as well as the formal concepts used to structure computational thinking.OptionalPhysics Simulation 2023-24CGP3012MLevel 62023-24Realistic physics simulation is a key component for many modern technologies including computer games, video animation, medical imaging, robotics, etc. This wide range of applications benefiting from real-time physics simulation is a result of recent advances in developing new efficient simulation techniques and the common availability of powerful hardware. The main application area considered in this module is computer games, but the taught content has much wider relevance and can be applied to other areas of Computer Science.OptionalVirtual and Augmented Reality 2023-24CMP3754MLevel 62023-24In this module, students can develop their understanding of how to design and develop and applications for Virtual and Augmented Reality (VR/AR) platforms. The module will start by introducing students to underpinning theoretical concepts of user experience in VR platforms, such as immersion, presence, fidelity, and embodiment. These will be used as a framework to explore a wide range of applications, primarily training and education, medical applications, therapy, and entertainment. Fundamental design aspects will be introduced, such as interfaces and interactions, interactions with non-human characters, locomotion, and object manipulations. Within the context of training/education, design considerations relating to learning outcomes, knowledge transfer, and retention will be discussed. Students are expected to consider the role of fidelity in relation to safety critical training, such as medical applications, and the advantages of VR over traditional displays will also be considered. Students can also learn how to assess user experience in VR using a variety of tools (primarily self-report measures). Students can also look at limitations such as simulator sickness, and accessibility of movement-based interfaces. The AR section of this module will mirror the VR topics mentioned, and compare and contrast AR platforms with VR, to enable students to make appropriate platform choices. Alongside theoretical aspects, students can engage in parallel practical workshops, during which they will put into practice some of the concepts discussed in lectures. This will involve the use of appropriate development tools and platforms, and consideration of design aspects. Students have the chance to build an application during workshops, and use this as a tool to conduct an evaluation related to user experience.OptionalMComp Research Project 2024-25CMP9056MLevel 72024-25The MComp Research Project is an individual piece of work that expects students to apply and integrate theoretical knowledge and practical skills from the breadth of their experience with computer science sub-disciplines, in order to address a specific research question or questions formulated with support from academic staff. The form and nature of this project is negotiable, but at MComp Level 4 there are typically three types of Project that are undertaken: - Industrial Based Project work (typically engaged with through a work placement) - Client-based project delivery (typically with an approved client in either public, private or third sector partners, and with a clearly articulated delivery) - A research based project (typically done in conjunction with a member of academic staff in the School and with a clear linkage to research activity of the staff member but which could include collaborative projects with research groups at other Universities) The student can undertake work that is predominantly relevant to the ongoing research in one of the established research centres within the School of Computer Science. In all cases the Project supervisor will ensure that the study undertaken is suitably grounded within the programme title of each student.CoreAutonomous Mobile Robotics (M) 2024-25CMP9050MLevel 72024-25This module introduces the main concepts of Autonomous Mobile Robotics, providing an understanding of the range of processing components required to build physically embodied robotic systems, from basic control architectures to spatial navigation in real-world environments. Students are introduced to relevant theoretical concepts around robotic sensing and control in the lectures, together with a practical hands on approach to robot programming in the workshops. Working at Master's level, students can research the area in depth and produce critical reports of their findings.OptionalCloud Computing (M) 2024-25CMP9768MLevel 72024-25This module explores core Cloud Computing areas such as elastic compute, containers, networking, and durable, highly available storage services. The underlying theory on cloud virtualisation, storage, containerisation, and load-balancing is discussed, providing students with the opportunity to gain skills across the main cloud patterns of Platform as a Service (PaaS), Infrastructure as a Service (IaaS), and Software as a Service (SaaS). Additionally, students will have the opportunity to develop skills in cloud based Development-Operations (DevOps), with emphasis on cloud scripting and automation using powerful command-line tools. The importance of interoperability will be a key theme of the module by using platform-agnostic approaches when designing and developing cloud services. The module will primarily focus on the PaaS and IaaS cloud patterns. The ethical, legal and security implications of cloud computing data storage are also discussed.OptionalCross-Platform Development (M) 2024-25CMP9062MLevel 72024-25OptionalCyber Security (M) 2024-25CMP9771MLevel 72024-25This module provides an understanding of the challenges in cyber security faced by society and industry. This includes an examination of the impact of threats and develops an understanding of mechanisms to reduce the risk of attack. The module examines a range of cyber threats and attack types and introduces strategies to mitigate these. It also prompts students to consider the legal, social, and ethical implications of cyber security. As a Master's level module students are also encouraged to consider current research in the field of cyber security.OptionalGraphics (M) 2024-25CGP9024MLevel 72024-25This module introduces students to the theory, principles, methods, and techniques of 3D computer graphics. The specialised mathematical underpinnings are explored along with their practical application in algorithms commonly used in videogame development. The development of skills in implementing computer graphic applications with modern, standard graphics pipelines encourages students to develop their programming skills while observing the theory of 3D graphics in practice. This will be delivered through a hands-on games programming context where students will be encouraged to develop interactive 3D graphics applications using industry standard tools and technologies. This module aims to develop students' awareness and ability to implement and utilise mathematical approaches commonly seen in real-time systems such as videogames. In addition, modern graphical techniques will be explored, with reference to current industry practice and students will be expected to demonstrate an ability to analyse requirements, systematically appraise existing methods and employ critical thinking in the development of their own work.OptionalImage Processing (M) 2024-25CMP9055MLevel 72024-25This module aims to provide a broad introduction to the field of image processing, culminating in a practical understanding of how to apply and combine techniques to various image-related applications. Students are expected to be able to extract useful information from the raw image and interpret the image data. The techniques will be implemented using the mathematical programming language Matlab or OpenCV.OptionalLogic and Computation (M) 2024-25CMP9784MLevel 72024-25OptionalPhysics Simulation (M) 2024-25CGP9025MLevel 72024-25Realistic physics simulation is a key component for many modern technologies including computer games, video animation, medical imaging, and robotics. This wide range of applications benefiting from real-time physics simulation is a result of recent advances in developing new efficient simulation techniques and the common availability of powerful hardware. The main application area considered in this module is computer games, but the taught content has much wider relevance and can be applied to other areas of computer science.OptionalVirtual and Augmented Reality (M) 2024-25CMP9774MLevel 72024-25In this module student can develop and design applications for Virtual and Augmented Reality (VR/AR) platforms. Students can consider different areas of applications, including training, simulation, medical/therapeutic, games, and other interactive experiences. This will comprise theoretical aspects of design for VR/AR systems, including such topics as locomotion and control methods, representation of virtual worlds, and non-human characters. It will also cover practicalities of development and deployment using appropriate tools. Students can also look at limitations such as simulator sickness, and accessibility, and how to evaluate user experience. Students can build and test their own applications using VR and AR equipment.Optional

Special Features

There is a range of equipment for loan, including Raspberry Pi devices, smartphones, robots, and virtual reality equipment such as HTC Vive and Oculus Quest.

Students on this course are taught by academics whose research has been internationally recognised. Researchers in the School include Marc Hanheide, Professor of Intelligent Robotics and Interactive Systems, and Nigel Allinson MBE, Distinguished Professor of Image Engineering, who has been supported with a £3.3 million grant from the UK’s Engineering and Physical Sciences Research Council for advances in medical imaging.

The School is also a Microsoft Imagine Academy member and Cisco Academy member, which gives students the opportunity to gain industry recognised qualifications such as Microsoft Technology Associate and Cisco certification.

Student using a HTC device.

Placements

This programme is optionally available in a sandwich mode variant. If students choose the sandwich placement option, they take a year out in industry between the second and third year. This provides the opportunity to gain industrial experience. Students are supported throughout their placement, which can be overseas. Students are required to pay for their own travel, accommodation, and general living costs while on placements and study visits. There is no tuition fee for the placement year.

There are also opportunities to take shorter work placements, for example over the summer period, and to be involved in systems development projects for real industry clients.

Accreditations and Memberships

This course is accredited by The British Computer Society. The University of Lincoln is also affiliated with The Institution of Analysts and Programmers.

How you are assessed

The course is assessed through a variety of means, including in-class tests, coursework, projects and examinations. The majority of assessments are coursework-based, reflecting the practical and applied nature of computer science, and in many instances are informed by the types of tasks currently undertaken in industry.

The University of Lincoln's policy on assessment feedback aims to ensure that academics will return in-course assessments to students promptly usually within 15 working days after the submission date.

The course is assessed through a variety of means, including in-class tests, coursework, projects and examinations. The majority of assessments are coursework-based, reflecting the practical and applied nature of computer science, and in many instances are informed by the types of tasks currently undertaken in industry.

The University of Lincoln's policy on assessment feedback aims to ensure that academics will return in-course assessments to students promptly usually within 15 working days after the submission date.

Fees and Scholarships

Going to university is a life-changing step and it's important to understand the costs involved and the funding options available before you start. A full breakdown of the fees associated with this programme can be found on our course fees pages.

Course Fees

For eligible undergraduate students going to university for the first time, scholarships and bursaries are available to help cover costs. The University of Lincoln offers a variety of merit-based and subject-specific bursaries and scholarships. For full details and information about eligibility, visit our scholarships and bursaries pages.

Going to university is a life-changing step and it's important to understand the costs involved and the funding options available before you start. A full breakdown of the fees associated with this programme can be found on our course fees pages.

Course Fees

For eligible undergraduate students going to university for the first time, scholarships and bursaries are available to help cover costs. The University of Lincoln offers a variety of merit-based and subject-specific bursaries and scholarships. For full details and information about eligibility, visit our scholarships and bursaries pages.

Entry Requirements 2022-23

United Kingdom

GCE Advanced Levels: BBB

International Baccalaureate: 30 points overall

BTEC Extended Diploma: Distinction, Distinction, Merit

Access to Higher Education Diploma: 45 Level 3 credits with a minimum of 120 UCAS Tariff points

Applicants will also need at least three GCSEs at grade 4 (C) or above, which must include English and Maths. Equivalent Level 2 qualifications may also be considered.

International

Non UK Qualifications:

If you have studied outside of the UK, and are unsure whether your qualification meets the above requirements, please visit our country pages:

https://www.lincoln.ac.uk/home/studywithus/internationalstudents/entryrequirementsandyourcountry/

EU and Overseas students will be required to demonstrate English language proficiency equivalent to IELTS 6.0 overall, with a minimum of 5.5 in each element. For information regarding other English language qualifications we accept, please visit the English Requirements page:

https://www.lincoln.ac.uk/home/studywithus/internationalstudents/englishlanguagerequirementsandsupport/englishlanguagerequirements/

If you do not meet the above IELTS requirements, you may be able to take part in one of our Pre-sessional English and Academic Study Skills courses.

If you would like further information about entry requirements, or would like to discuss whether the qualifications you are currently studying are acceptable, please contact the Admissions team on 01522 886097, or email admissions@lincoln.ac.uk

Entry Requirements 2021-22

United Kingdom

GCE Advanced Levels: BBB

International Baccalaureate: 30 points overall

BTEC Extended Diploma: Distinction, Distinction, Merit

Access to Higher Education Diploma: 45 Level 3 credits with a minimum of 120 UCAS Tariff points

Applicants will also need at least three GCSEs at grade 4 (C) or above, which must include English and Maths. Equivalent Level 2 qualifications may also be considered.

International

Non UK Qualifications:

If you have studied outside of the UK, and are unsure whether your qualification meets the above requirements, please visit our country pages:

https://www.lincoln.ac.uk/home/studywithus/internationalstudents/entryrequirementsandyourcountry/

EU and Overseas students will be required to demonstrate English language proficiency equivalent to IELTS 6.0 overall, with a minimum of 5.5 in each element. For information regarding other English language qualifications we accept, please visit the English Requirements page:

https://www.lincoln.ac.uk/home/studywithus/internationalstudents/englishlanguagerequirementsandsupport/englishlanguagerequirements/

If you do not meet the above IELTS requirements, you may be able to take part in one of our Pre-sessional English and Academic Study Skills courses.

If you would like further information about entry requirements, or would like to discuss whether the qualifications you are currently studying are acceptable, please contact the Admissions team on 01522 886097, or email admissions@lincoln.ac.uk

“The range of academics and facilities has been noted by many of my friends from other universities. The Careers and Employability team helped me get a dream placement as a software developer with J.P. Morgan.”

James Allington-Kay, BSc (Hons) Computer Science graduate

Career Opportunities

This degree aims to equip graduates with the mathematical, analytical, and problem-solving skills that make them well-placed for computer and technology-related roles across a range of sectors. Recent graduates have secured roles at GCHQ and major companies including IBM, Bloomberg, PwC, J.P. Morgan, Cisco, Sky, and G4S. Some graduates may wish to pursue academic careers and study at Doctoral level.

Visit Us in Person

The best way to find out what it is really like to live and learn at Lincoln is to join us for one of our Open Days. Visiting us in person is important and will help you to get a real feel for what it might be like to study here.

Book Your Place

Related Courses

The University intends to provide its courses as outlined in these pages, although the University may make changes in accordance with the Student Admissions Terms and Conditions.
-->