BSc (Hons) Computer Science

Three year Bachelors degree

Key Information


Three years (full-time)

Intake dates

October 2022

January 2023 (Foundation start)

October 2023



Tuition Fees 2023/24

International €16,500

EU €9,900


Computer science is a dynamic discipline with a diverse range of applications and career paths. This programme explores the theory and practice of innovative and experimental computer science, allowing you to develop well-rounded professional and technical skills. 

This degree was 3rd in the UK for graduate prospects (The Guardian University Guide, 2020).

Find out more

Computer science is a vast but specialised subject; as a result, our degree equips you with the technical and professional skills necessary to apply yourself to a broad range of careers. Our UK graduates have gone on to work with major technology companies such as IBM, Google, BBC, and BAE, while others have chosen to take their software design, development and management skills to SMEs, or have set up their own technology-centric businesses. Many of our computer scientists also elect to study for MSc or PhD qualifications. 

In the first year, you will receive a comprehensive understanding of the fundamental principles of the discipline, combined with their modern day application. Throughout your study, you will gain skills and experience from a range of modules, including Software Development, Information Systems, and Digital Systems. Taking a practical approach to learning, you are encouraged to build and analyse systems and software, as well as work with end user feedback to refine and adapt solutions.

After gaining an overview of the subject in the first year, you will be motivated by topics that become progressively deeper and more specialised as your skills develop throughout second and third year. In addition to progressing your foundational understanding, programming, and software design skills, you will explore social, ethical and professional issues, giving you experience of computing in the real world.

Your final year gives you the opportunity to explore a range of well-constructed and enriching modules, as well as undertaking an individual project with one of our academics, allowing you to use and further develop the skills acquired throughout your degree.

Digital systems

This module demonstrates the fundamental building blocks, mechanisms and concepts found in all digital systems. Students will learn about the workings of a processor; how memory works; and the architectures of classical and contemporary computers. It also shows students how programming languages are turned into something a computer can understand. In providing a strong insight into these fundamental operations, students are encouraged to develop new ways of thinking and to develop abstract thought.

Students will gain an understanding of the key features and components of digital systems, including low level components such as registers and adders, and how these can be controlled through the use of programming techniques. They will develop the skills to work with different logic constructs and number systems, in particular, binary logic. The relationship between applications software, systems software and hardware will be considered and students will also develop an applied understanding of the c programming language.

Fundamentals of computer science

This module provides students with an insight into the importance and relevance of the principles of computer science. Gaining the essential knowledge needed for analysing and characterising the efficiency of algorithms and computer programs, students learn how to make the right design choice when implementing computer programs to optimise efficiency for given design parameters.

Students also study the role and characteristics of data structures, and gain an understanding of the continuing importance of classical algorithms in computer science.

Information systems

There are three main aspects to this module. Firstly, students will study the design and implementation of data handling technology. They will learn about the structure and characteristics of relational databases and their contemporary alternatives, and about the common languages and functions for constructing, populating and querying valid information systems.

Secondly, the module looks at systems analysis and design. Alongside the study of information systems design, students will learn about the use of data in a business and social context, including data collection, validation and presentation. They will learn how to handle multiple constraints, working with people and machines, system thinking and basic cost/benefit analysis.

Finally, the module tackles the important professional and ethical issues of computers in society. Students will gain an understanding of the legal implications of holding personal data, the role and effects of censorship, malware and spam, privacy and surveillance, internet operations, and governance. This will enable students to construct and critique ethical arguments around human and technological requirements and appropriate design solutions.

Software development

Computer programming is a highly practical skill in our quickly developing world. In this module students develop the skills expected of a principled computer programmer as they learn how to write, analyse, debug, test and document computer programs. Students will be introduced to both the C and Java programming languages, two of the most widely used languages in the world. They will learn about best practice of day-to-day techniques associated with software development and gain an understanding of the software development cycle. Learning about the challenges faced by software developers in addressing scalability and complexity in computer software, students will be able to work independently to develop moderately complex computer programs.

Optional business modules 

Students are required to undertake 40 additional credits from a selection of 1st year business management and accounting and finance modules.

Advanced programming 

An adaptable approach is taken to new tools and technologies, allowing an understanding of the importance of selecting the best programming tool for a given problem. A number of new programming languages are introduced from different programming language families and build upon good practices established in Year 1. An appreciation of the history and diversity of programming languages is encouraged, such as understanding their domains of application and to learn to think more broadly about programming. Understanding of the application domain and relative strengths, weaknesses and performance of various language types will be promoted and language concepts and list comprehensions are also introduced.

This module requires a level of self-discipline to recognise and build programs that not only function to a high degree but incorporate non-functional properties. The generation of elegant, scalable and extensible software is expected from the course. Through this experience, students develop the ability to reason logically and algorithmically about problem-solving. They will gain experience of abstracting and simplifying problems based on how the map onto structures and computational elements of programming languages. Confidence in computational thinking will allow students to compare and contrast alternatives.

Computer networks 

Students will be introduced to the fundamental concepts underpinning contemporary communications networks and the internet. Key ideas of protocol stacks and layering will be explored, as well as core concepts such as IP addressing and subnetting. As the module progresses, they will then be introduced to the methods used to route packets across the internet. It is this process that enables the global communication network that we so often rely upon today. These concepts will be supported by hands-on practical experience in designing and building networks. Students will also demonstrate their understanding by completing a number of complimentary network programming exercises.

Computer science group project 

This module gives students the opportunity to build upon their skills and knowledge from Year 1 to create a real-world system in a group context. As part of a group, students will work effectively to gather system requirements; design and then implement the project; and accurately evaluating it. The module aims to increase theoretical knowledge and practical skills in prototyping, project planning, project management, management and execution, games design, systems design and testing strategies. Alongside these, students will also enhance their teamwork, problem-solving, communication, presentation and report writing skills, which will be valuable when progressing into a career.


During this module, students will receive a theoretical background to the design, implementation and use of database management systems, for both data designers and application developers. The module also explores the need to define the requirements of database systems, making use of the Extended-Entity Relationship (EER) model as a technique and notation for designing the data in database management systems (DBMS). Students will investigate the mapping of the EER model into an equivalent relational model and then examine it in terms of access rights and privileges.

Over the course of the module, students will become familiar with all the relevant aspects related to information security in the design, development and use of database systems. They will also gain an understanding of how the need for DBMS has evolved over time and how they are applied in everyday scenarios. This technical knowledge will be supplemented by transferable skills in applying efficient physical storage organisation; an increased awareness of the correct processes, models and notations that can be applied to problems; and an ability to critically evaluate a range of technical ideas.

Human-computer interaction 

Students will learn theoretical and practical topics in Human-computer interaction, with lab work offering hands on experience of design, implementation and the ability to evaluate interactive systems through practical case studies. The course explores the underpinnings of human perception, user-centred design and participatory design processes, with students learning multiple design techniques. The module leads to an understanding of how internal system design impacts external user interface behaviour and highlights the importance of accessibility for all users.

By the end of the module, students will be able to successfully integrate diverse information to form a coherent understanding of Human-computer interaction; critically reflect on technical advancements in HCI and demonstrate the independent learning abilities needed for continual professional development and effective written and verbal skills.

Operating systems 

Students are introduced to the theoretical and practical application of operating system concepts in SCC211. Throughout the module, internal OS structure; file and I/O management, interrupt handling and device drivers and memory management structures and techniques all become familiar. The module explores process management, including scheduling and threads, and support for multiprocessors. Expect to investigate issues surrounding security and protection, including access control. A practical, hands on approach to module topics is taken to assist in assimilating abstract concepts by presenting concrete examples from suitable operating systems and carrying out relevant programming exercises.

By the end of the module, students should understand the role of a modern operating system and common architectures. System vulnerabilities and how to protect them against security threats are considered throughout. Students will confidently describe typical file system structures and highlight the different approaches to process and task scheduling.

Social, ethical & professional issues in computing 

Students will gain the essential skills and knowledge to operate within the professional, legal and ethical frameworks of their profession. Techniques for breaking down a project into manageable parts and efficient time allocation are taught, leading to a fundamental understanding of the skills and methods required to pursue scientific inquiry and the fundamental concepts and tools for statistical analysis to measure and explain data. Exemplars and guidelines on producing concise and structured scientific reports are offered and students receive additional lectures on presentation skills, professional ethics in relation to computing and communications. Finally, lectures provide an awareness of fundamental legal aspects related to a profession in computing and communications, including intellectual property rights and patent law.

Throughout this course, students will gain a high level of awareness of subject specific skills and general competence needed to gain employment in their field. The module develops academic writing and research skills in a computing context, complimenting students’ other modules.

Software design 

Software design offers the opportunity to gain an understanding of the importance of software architecture design, different styles of architecture and the meaning of quality attributes for software design such as maintainability, performance and scalability. Students will gain knowledge of systematic approaches to developing software design using a set of graphical models. The design process involved in developing several modes of the system at different levels of abstraction is explained and they will be introduced to object oriented design with UML.

Throughout the module, students will appreciate the broader context of the role of computer science in the workplace, and the key role it plays in implementing software. The course also looks at understanding the meaning of quality attributes for software design as well as architectural models for specific software systems. Students will gain an insight into the main quality attributes for deciding classes. Students will be able to interpret and construct UML models of software and implement a design expressed as a UML mode as well as understanding how to use various design patterns to address certain problems.

Artificial intelligence 

Students will gain an introduction to fundamental concepts in artificial intelligence and learn about current trends and issues. Topics such as Knowledge Representation and Reasoning, Decision Making (DM) and Decision Making Under Uncertainties, and Probability Theory are all explored throughout the course. Artificial Intelligence offers experience in supervised and unsupervised machine learning, neural networks and decision trees. Multivariate methods, and clustering and classification approaches are taught and there is an introduction to evolutionary algorithms, phenotypes, genotypes and fundamental genetic operators. Programming languages suitable for intelligent systems, such as Scheme and Prolog are investigated and students are made familiar with the applications of artificial intelligence.

This module sees an awareness of the requirements of artificial intelligence systems in general, and in the context of computing and communications systems. Through knowledge based, probabilistic and logical systems, the module provides students with an awareness of competing approaches and a broad grounding in artificial intelligence. Additionally they will understand and critically analyse artificial intelligence techniques used in modern computers and mobile devices.

Distributed systems 

Students are offered an understanding of the fundamental principles underpinning modern distributed systems and practical implementation using JAVA RMI. They will explore indirect communication, group communication and non-functional aspects in distributed systems such as scalability, fault-tolerance and dependability. Applications and services such as distributed file systems and Google infrastructure are investigated in the module and students benefit from a practical development of distributed systems using Java RMI, J2EE and associated tools and techniques. Through this, the module examines distributed systems design, security and Java RMI, the Java Messaging Service, Java Groups and component architectures such as Fractal and Enterprise Java Beans (EJB).

Students will expand their problem solving skills and increase their current programming skills, allowing them to successfully develop distributed applications and services. They will explore the client-server model of distributed systems, RPC/RMI and physical and logical security and protection mechanisms. Study of practical tools and techniques currently available in distributed programming and engaging in discussions of key non-functional properties, with an insight into current research issues in the distributed systems community is also featured.

Languages and compilation 

Providing an introduction to formal languages, grammars, automata and how these concepts relate to programming in terms of compilers and the compilation process, students will learn about syntax and semantics, phrase structure grammars and the Chomsky Hierarchy as well as processes such as derivation and parsing. The module focuses on grammar equivalence and ambiguity in context free grammars and its implications. There is exploration of the relationship between languages and abstract machines. Students are presented with the concept of computation alongside Turing’s thesis, alternative models of computation and applications of abstract machine representations. There are further introductions to the compilation process including lexical analysis and syntactic analysis.

By the end of this module, students will understand the relation of programming languages and the theory of formal languages. They will possess an essential understanding of the compilation process for a high-level programming language. Students are encouraged to engage with theoretical aspects of computer science to compliment practical skills in other parts of their degree. There are links to other disciplines such as linguistics, and the course explains the challenges of compilation in the context of software development and computer science.

Security and risk 

Covering a range of topics, including asset identification and assessment, threat analysis and management tools and frameworks, students will become familiar with attack lifecycle and processes, as well as risk management and assessment processes, tools and frameworks. The module covers mitigation strategies and the most appropriate mitigation technologies and offers knowledge on assurance frameworks and disaster recovery planning. There is also an opportunity to learn about infrastructure design and implementation technologies and attack tree and software design evaluation.

Students will gain an understanding of the different ways in which an IT professional can make effective decisions when securing an IT infrastructure. The course will make them aware of the tools, frameworks and models that can be used to identify assets, threats and risks, before selecting the most appropriate strategies to manage the exposure that IT infrastructure faces in the light of this analysis. The module builds on their skills with a practical examination of the mechanisms by which IT infrastructures are attacked.

Third year project 

Students produce a substantial individual project, involving the principled design, implementation and evaluation of a piece of software, experimental software or theoretical work. Through this module, students will develop a coherent proposal for a complex computing or digital technology related project. They will gain experience by undertaking the research required for the project, and apply theoretical concepts and practical skills. Students will also write up a technical report that accurately documents the project. This experience will be particularly relevant for when they progress into a career.

Projects can also be undertaken in collaboration with an external partner company. A supervisor from the external partner will offer additional support, providing the required information on the business context of the project.

Teaching is delivered via a combination of small group lectures and group-based tutorial coursework (oral and written presentation), and assessment is via individual coursework (oral and written presentation) and examinations.

You will be encouraged throughout to undertake independent study to supplement what is being taught/learnt and to broaden your personal knowledge.

We set our fees on an annual basis.

As a guide, our tuition fees for the academic year 2023/24 are:

  • EU/UK: €9,900
  • International: €16,500

There will be a year-on-year increase of up to 5% for all fees.

At Lancaster University Leipzig we offer a range of scholarships and funding/loan options to our students to help cover the cost of tuition and/or living expenses. 

All BSc (Hons) Computer Science students will receive their undergraduate degree from Lancaster University's Bailrigg campus in the UK, with accreditations.

Please click on the link below to visit the full, country specific entry requirements for this programme.

The language of instruction at Lancaster University Leipzig is English. To enter the degree, you must be able to demonstrate you are suitably proficient in English. The table below lists the IELTS results (or equivalent) that you need to enter our courses.

Please note that proof of German language is not required to study in Germany in English.

Visit the link below for information about English entry levels.


A degree in Computer Science can open up a range of exciting career avenues, including the following roles:

  • Applications developer
  • Cyber security analyst
  • Data analyst
  • Data scientist
  • Game developer
  • Information systems manager
  • IT consultant
  • Machine learning engineer
  • Multimedia programmer
  • Web developer
  • Web designer
  • Software engineer
  • QA/Test automation engineers

Job market

"Germany’s ICT market is the largest in Europe, and for good reason. The country is both an innovative driver and extensive customer base for computing, communications and security solutions."

Source: Germany Trade and Investment

More information


Find out if you are eligible for one of our merit-based scholarships, which could earn you up to €5000 in savings.


Find your new home in Leipzig in our safe, friendly and affordable accommodation, available to all new students. 

Why choose us

Discover how you can earn a degree from a top UK university while while studying on a modern, urban campus in Germany.