A Level Requirements
see all requirements
see all requirements
Full time 3 Year(s)
Computer science is a dynamic discipline with a wide range of applications, and our Study Abroad programme allows you to broaden your academic and cultural horizons in another county. As a result, our graduates are highly sought after in industry.
Our Computer Science programme is accredited by the British Computing Society (BCS) and the Institute of Engineering and Technology (IET), and provides you with the knowledge and skills required to become a computing professional. You will learn to work effectively in a professional software and systems development environment.
This programme will develop your self-confidence and expose you to new cultures and new ways of learning, while delivering a broad yet rigorous grounding in computer science. You will gain cutting-edge knowledge through both theoretical and practical learning approaches, and will develop a range of well-rounded professional and technical skills through state-of-the-art equipment and expert teaching offered at the School of Computing and Communications.
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 education, you are encouraged to build and analyse systems and software, as well as work with end user feedback to refine and adapt solutions.
Your second year will be spent at one of our partner institutions in Europe, USA, Canada or Australia, where you will be motivated by topics that become progressively deeper and develop specialised skills. This will provide you with the opportunity to gain valuable experience of a different social and academic environment, while broadening your professional network.
Returning to Lancaster for your final year, you will have the opportunity to explore a range of well-constructed and enriching optional modules, as well as undertaking an individual project. In this project you will work closely with one of our academics, allowing you to use and further develop the skills acquired throughout your degree.
MSci Hons Computer Science (with Industrial Experience)
During your degree, you may choose to move to our MSci Computer Science (with Industrial Experience). This programme includes a fourth year and will present you with a range of integrated industry placement activities, allowing you to gain valuable real-world experience as part of your study.
We offer an excellent range of learning environments, which include traditional lectures, laboratories and workshops. We are also committed to providing timely feedback for all submitted work and projects.
Assessment varies across modules, allowing students to demonstrate their capabilities in a range of ways, including laboratory reports, essays, exercises, literature reviews, short tests, poster sessions, oral presentations, and formal examination.
A Level AAA
Required Subjects A level Mathematics or Computer Science grade A
Computing A Level We are committed to encouraging the adoption of the new A level Computing curriculum. Students applying with an A level in Computing will receive favourable consideration.
GCSE Mathematics grade B, English Language grade C
IELTS 6.0 overall with at least 5.5 in each component. For other English language qualifications we accept, please see our English language requirements webpages.
International Baccalaureate 36 points overall with 16 points from the best 3 Higher Level subjects including 6 in Mathematics HL or Computer Science HL
BTEC May be accepted alongside A level Mathematics or Computer Science
Access to HE Diploma Not typically accepted
We welcome applications from students with a range of alternative UK and international qualifications, including combinations of qualification. Further guidance on admission to the University, including other qualifications that we accept, frequently asked questions and information on applying, can be found on our general admissions webpages.
Contact Admissions Team + 44 (0) 1524 592028 or via email@example.com
Many of Lancaster's degree programmes are flexible, offering students the opportunity to cover a wide selection of subject areas to complement their main specialism. You will be able to study a range of modules, some examples of which are listed below.
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.
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.
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.
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.
The creative industries are concerned with the user experience of technology; as a result, user experience should be incorporated into the design of software product life cycles. This module provides students with an introduction and basic understanding of contemporary platforms and methods for user centred applications. Students will focus on the different stages of the design process, such as: creating prototypes in software and hardware, interaction design, information visualisation, graphical design, and evaluation.
They will engage in practical sessions and projects, which will develop their core prototyping skills covering web development skills (e.g. HTML and CSS), hardware prototyping (e.g. Arduino and Processing) and information visualization/graphic design.
Students are introduced to the fundamental theories and applications of mathematical tools related to communication systems and signal processing techniques. It provides them with a broad range of knowledge and skills necessary for a professional career in the field of data communication. They will become familiar with both practical implementations, such as in mobile communications, and common applications, such as in speech, image and video processing.
Throughout the module, students will also learn about analogue and digital processing, including sampling, quantisation and coding. They will be introduced to analogue and digital modulation methods, and take part in discussions about trade-offs among bandwidth, data rate and signal power. Basic time and frequency domains will be explained and students will study signal processing concepts and methods that are closely related to communications systems.
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.
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.
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.
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.
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.
This module will build upon the fundamental concepts of networking, introducing a series of advanced topics. Students will look at how networks are topologically constructed in order to support customers’ service requirements. The five key areas of advanced networking explored are:
Practical sessions will provide students with enhanced hands-on experience, looking broadly at the themes of protocol design and network emulation. Additionally, a research and industry element of the module will cover a range of cutting-edge research topics, and give an industry perspective on the current and future directions of networking.
Students will be exposed to a range of current computer science related topics from different subject areas. The areas covered come from our different thematic strands and will include: natural language engineering; policy based network resilience; eye-tracking for ubiquitous computing applications; and a focus on energy aware control and sensing in home environments.
Students will conduct independent and in-depth research into an advanced topic of computing or communications, reflecting current topical and research issues. During the course of the module, students will analyse, structure, summarise, document and present findings in front of a large group. They will gain topical knowledge and skills related to the subject areas of the seminars, and will learn with and from their peers. The module will enable students to produce a detailed document describing their research findings, present technically intricate issues in a coherent manner, and discuss and defend their position on a specific topic within a seminar group.
Increasingly common in everyday appliances and devices such as mobile phones, washing machines, and set-top boxes, this modules explores the challenges of developing embedded systems through practical exercises (each with a dedicated hardware device) and lecture material. This will give students experience of independently researching, designing and developing hardware-software solutions to address real-world problems, related to a variety of embedded systems. Additionally, students will learn to evaluate the quality of solutions in terms of performance, storage footprints, and energy efficiency.
Through this module, students will also complete a three-week mini-project based around a more advanced embedded system, such as a robot.
Students will become familiar with a range of issues surrounding the structure, design and deployment of contemporary, large scale and high performance web based services and infrastructures. They will gain the ability to identify barriers to high performance and take a heuristic approach for achieving the best website performance through caching, locality and the use of content delivery networks and cloud hosting. An understanding of the use of analytics, metrics, A/B and multivariate testing will be gained. Through the use of programming toolkits, story tagging and content aggregation, along with XML stores, linked data and RDF students will create responsive web design, including mobile devices, tablets and touch interaction.
By the end of the module, students will have a comprehensive knowledge of using metrics and quantitative data to identify a variety of performance problems. They will be able to use and interpret data analytics, as well as understanding agile web development methodology and how to identify quality processes and provide support for accessibility and internationalisation. Students will conduct weekly experimental lab tasks designed to complement and reinforce lectures, giving both a theoretical knowledge and practical experience in range of topics.
The course looks at how digital media is encoded, compressed and presented in a computerised environment and how media content can be processed in order to provide more information about it, automatically annotate or classify it, or make it easier to find or handle. The module exposes various discussions in all aspects from the basics of human perceptions over media presentation, coding and digitisation and compression to advanced media processing. Students are encouraged to understand the underlying mathematical principles and how they are being used within coding and different media processing schemes. Fundamental module types such as images, audio and video will be covered in the module.
Students will gain an understanding of how digital media is encoded in the digital domain: how they are presented on computers, laptops, smartphones and other devices. The basic principles of automatic content processing and how additional information can be generated through processing video, audio and images will be learnt.
Lancaster University offers a range of programmes, some of which follow a structured study programme, and others which offer the chance for you to devise a more flexible programme. We divide academic study into two sections - Part 1 (Year 1) and Part 2 (Year 2, 3 and sometimes 4). For most programmes Part 1 requires you to study 120 credits spread over at least three modules which, depending upon your programme, will be drawn from one, two or three different academic subjects. A higher degree of specialisation then develops in subsequent years. For more information about our teaching methods at Lancaster visit our Teaching and Learning section.
Information contained on the website with respect to modules is correct at the time of publication, but changes may be necessary, for example as a result of student feedback, Professional Statutory and Regulatory Bodies' (PSRB) requirements, staff changes, and new research.
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 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.
Lancaster University is dedicated to ensuring you not only gain a highly reputable degree, you also graduate with the relevant life and work based skills. We are unique in that every student is eligible to participate in The Lancaster Award which offers you the opportunity to complete key activities such as work experience, employability/career development, campus community and social development. Visit our Employability section for full details.
We set our fees on an annual basis and the 2018/19 entry fees have not yet been set.
As a guide, our fees in 2017 were:
Some science and medicine courses have higher fees for students from
the Channel Islands and the Isle of Man. You can find more details here:
For full details of the University's financial support packages including eligibility criteria, please visit our fees and funding page
Students also need to consider further costs which may include books, stationery, printing, photocopying, binding and general subsistence on trips and visits. Following graduation it may be necessary to take out subscriptions to professional bodies and to buy business attire for job interviews.
Average time in lectures, seminars and similar
Average assessment by coursework