Key Information

Full-time

3 - 4 years

Part-time

6 years

Typical Offer

BBC (112 UCAS Tariff points)

Campus

Brayford Pool

Validation Status

Validated

Fees

View

UCAS Code

G403

Course Code

CMPCMSUB

Key Information

Full-time

3 - 4 years

Part-time

6 years

Typical Offer

BBC (112 UCAS Tariff points)

Campus

Brayford Pool

Validation Status

Validated

Fees

View

UCAS Code

G403

Course Code

CMPCMSUB

BSc (Hons) Computer Science BSc (Hons) Computer Science

Computer Science at Lincoln is ranked in the top 10 in the UK for learning resources in the National Student Survey 2020 (out of 104 ranking institutions).

Key Information

Full-time

3 - 4 years

Part-time

6 years

Typical Offer

BBC (112 UCAS Tariff points)

Campus

Brayford Pool

Validation Status

Validated

Fees

View

UCAS Code

G403

Course Code

CMPCMSUB

Key Information

Full-time

3 - 4 years

Part-time

6 years

Typical Offer

BBC (112 UCAS Tariff points)

Campus

Brayford Pool

Validation Status

Validated

Fees

View

UCAS Code

G403

Course Code

CMPCMSUB

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 BSc (Hons) 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 BSc (Hons) Computer Science degree provides students with the opportunity to develop the experience, skills, and knowledge to 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 human-computer interaction, in addition to core computer science disciplines. This aims to ensure that students' 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.

The course is designed 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. Those with expertise in these areas of computer science are finding employment and developing careers in a wide range of sectors such as finance, healthcare, telecommunications, power and energy, and cyber security.

Welcome to BSc (Hons) 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 BSc (Hons) Computer Science degree provides students with the opportunity to develop the experience, skills, and knowledge to 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. This aims to ensure that students' 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.

The course is designed 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. Those with expertise in these areas of computer science are finding employment and developing 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 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.

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.

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

An Introduction to Your Modules

Module Overview

The 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.

Module Overview

This 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.

Module Overview

This module aims to equip students with mathematical knowledge and skills required to design and develop computer systems and software.

Module Overview

This 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.

Module Overview

In 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.

Module Overview

Problems 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.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

The Internet of Things (IoT) refers to the interconnection of physical computing systems, using a combination of hardware and software that can sense input from the real world and broadcast/respond to it in real-time. Students can learn how to design and develop prototype IoT systems using a rapid-prototyping approach and evaluate the interactive aspects the system affords end-users. Industry standard IoT low-power microcontrollers, sensors, and protocols will be at the forefront of the student development experience.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

The 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.

Module Overview

The 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.

Module Overview

Parallel 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.

Module Overview

This 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.

Module Overview

The 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.

Module Overview

This 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.

Module Overview

This 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 notification’s 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.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

Digital 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.

Module Overview

Realistic 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.

Module Overview

In 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.

† 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.

An Introduction to Your Modules

Module Overview

The 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.

Module Overview

This 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.

Module Overview

This module aims to equip students with mathematical knowledge and skills required to design and develop computer systems and software.

Module Overview

This 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.

Module Overview

In 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.

Module Overview

Problems 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.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

The Internet of Things (IoT) refers to the interconnection of physical computing systems, using a combination of hardware and software that can sense input from the real world and broadcast/respond to it in real-time. Students can learn how to design and develop prototype IoT systems using a rapid-prototyping approach and evaluate the interactive aspects the system affords end-users. Industry standard IoT low-power microcontrollers, sensors, and protocols will be at the forefront of the student development experience.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

The 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.

Module Overview

The 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.

Module Overview

Parallel 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.

Module Overview

This 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.

Module Overview

The 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.

Module Overview

This 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.

Module Overview

This 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 notification’s 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.

Module Overview

This 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.

Module Overview

This 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.

Module Overview

Digital 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.

Module Overview

Realistic 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.

Module Overview

In 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.

† 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.

How you are assessed

This 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.

This 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.

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 2020-21

United Kingdom

GCE Advanced Levels: BBC

International Baccalaureate: 29 points overall

BTEC Extended Diploma: Distinction, Merit, Merit

Access to Higher Education Diploma: 45 Level 3 credits with a minimum of 112 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.

The University accepts a wide range of qualifications as the basis for entry and will consider applicants who have a mix of qualifications.

We also consider applicants with extensive and relevant work experience and will give special individual consideration to those who do not meet the standard entry qualifications.

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/ for information on equivalent qualifications.

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.

University preparation courses for International students:

The University of Lincoln International Study Centre offers university preparation courses for international students who do not meet the direct entry requirements for their chosen degree course. Upon successful completion, students can progress to degree level study at the University of Lincoln.

Please visit http://www.lincolnisc.com/ for more information.

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: BBC

International Baccalaureate: 29 points overall

BTEC Extended Diploma: Distinction, Merit, Merit

Access to Higher Education Diploma: 45 Level 3 credits with a minimum of 112 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.

The University accepts a wide range of qualifications as the basis for entry and will consider applicants who have a mix of qualifications.

We also consider applicants with extensive and relevant work experience and will give special individual consideration to those who do not meet the standard entry qualifications.

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 for information on equivalent qualifications.

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.

University preparation courses for International students:

The University of Lincoln International Study Centre offers university preparation courses for international students who do not meet the direct entry requirements for their chosen degree course. Upon successful completion, students can progress to degree level study at the University of Lincoln. Please visit http://www.lincolnisc.com/ for more information.

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

Teaching and Learning During Covid-19

At Lincoln, Covid-19 has encouraged us to review our practices and, as a result, to take the opportunity to find new ways to enhance the student experience. We have made changes to our teaching and learning approach and to our campus, to ensure that students and staff can enjoy a safe and positive learning experience. We will continue to follow Government guidance and work closely with the local Public Health experts as the situation progresses, and adapt our teaching and learning accordingly to keep our campus as safe as possible.

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.

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 postgraduate level.

“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

Virtual Open Days

While you may not be able to visit us in person at the moment, you can still find out more about the University of Lincoln and what it is like to live and study here at one of our live Virtual Open Days.

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.
-->