Curious about studying Computer Science - BSc (Hons)at Abertay University? We've gathered all the key details—entry requirements, modules, fees, and more. Hear from real students by checking out reviews, or take the next step by booking an open day to explore it for yourself.
Bachelor of Science (with Honours) - BSc (Hons)
Abertay Campus
Full Time
Sep 2027
4 Year
Focussing on applied computer science,
you’ll learn to create software and apps inspired by state-of-the-art developments in the field.This includes core modules like AI, Green Computing and Large Language Models (LLMs).
Guest lectures and industry-mentored projectsalso help you to put your expertise into practice.
Study Artificial Intelligence and moreIf you love solving puzzles, building things from scratch and developing intelligent solutions, this practical course is for you.
You'll dive into topics such as: * Artificial Intelligence (AI). * Green Computing. * Programming in C++. * Hardware Architecture and Operating Systems. * Software Engineering. * Data Structures and Algorithms. * Large Language Models (LLMs). The 2025 Complete University Guide named us the
top UK modern university for Computer Science degrees.Enhance your employability while you study
Learning to work in a team, and good communication skills are a crucial part of this degree - reflecting how essential they are in the workplace.
You’ll define, plan, design, implement and document software development projects from start to finish - both individually and as part of a team. You’ll have the opportunity
to apply for paid internships with our industry partners(subject to selection). Plus you'll work on real-world project briefs as part of the curriculum. This involves
studying current industry challengesand applying theoretical knowledge to practical situations. Mastering the art of robust solution-based programming gives you a real edge in the workplace.
You'll graduate ready to work in multiple industries, wherever technology meets creativity.Starting university is a big step, and every student arrives with different strengths and challenges. This module helps you reflect on your skills, identify areas for development and plan how to succeed academically and personally. Using the Abertay Discovery Tool, you'll review key areas such as study skills, careers and employability, digital confidence and wellbeing. You'll then create a personal action plan and choose further MySuccess modules to support your growth throughout your time at Abertay. Indicative Content - What Does a Successful Student Look Like? Reflect on your motivations, values and passions. Explore what makes a successful student, learn from different examples of success, and consider how stepping outside your comfort zone can help you grow. - Abertay Discovery Tool: Complete the Abertay Discovery Tool to identify your strengths and areas for development across five themes: studying at university, academic skills, digital skills, careers and employability, and wellbeing. - Fundamentals of University: Learn how university study works - from understanding modules and assessments to interpreting assignment briefs and using feedback to improve. - Expectations of University and You: Explore what's expected of you as a student, including the code of conduct, academic integrity, and independent learning. Understand blended learning and how the Abertay Attributes link to your development. - Successful Student Behaviours: Develop habits that support success: managing time, avoiding procrastination, preparing effectively for classes, taking good notes and building a growth mindset. Discover opportunities to get involved at Abertay and beyond.
Please note: ABE111: Numbers for Everyday Life will only be assigned as a core module if you do not have a minimum of a National 5 Maths qualification at grade C or an acceptable equivalent. This module helps you strengthen core numeracy skills, including percentages, decimals, fractions, appreciation, depreciation and rounding. Through problem-solving and reasoning, you’ll learn to analyse everyday situations and make logical, well-informed decisions. You’ll also gain a foundation in statistics—covering mean, median, mode and standard deviation—and develop financial skills such as budgeting, managing income and expenses, understanding interest rates, and making choices about saving and borrowing. By applying these skills to real-life contexts, you’ll build confidence in using numbers to solve problems, manage your finances, and support decision-making in both study and work. Indicative Content - Numerical Skills: Develop your confidence with key number skills, including percentages, decimals, fractions, appreciation, depreciation and rounding. - Problem Solving and Reasoning: Practice using maths to tackle everyday situations. Learn how to spot problems, rearrange equations, make logical connections and reach effective decisions. - Fundamentals of Statistics: Get to grips with the basics of statistics. Learn how to calculate and use mean, median, mode and standard deviation to interpret and compare data. - Financial Skills: Build practical financial know-how. Explore budgeting, managing income and expenses, understanding interest rates, and making smart decisions about saving and borrowing. Apply these skills directly to real-life situations.
This module introduces the essential principles of computer architecture, giving you a clear understanding of how modern computer systems function. You’ll explore how hardware and software interact, how data is represented and processed, and how operating systems manage resources. By building a strong mental model of system behaviour, you’ll develop the foundation needed to reason about computing at a low level and prepare for more advanced study in later modules. Indicative content - Computer Architecture: You’ll study the principal low-level components of a computer system, including logic gates, logic blocks, bus interconnections, memory, and storage devices. This will help you understand how the building blocks of hardware combine to support system performance. - Data Representation: You’ll learn how information is represented and manipulated within a computer, covering bits, bitwise operations, integers, floating and fixed-point numbers, as well as the encoding of text, colours, bitmaps, and audio. - Machine Instructions: You’ll be introduced to the von Neumann architecture and the structure of a modern CPU. Topics include arithmetic operations, control flow, the use of stacks, and the basics of compilation—helping you see how instructions are executed at machine level. - Operating Systems: You’ll explore the role of operating systems in managing hardware and software, including the distinction between userspace and kernelspace. You’ll cover drivers, scheduling, memory management, and filesystems, while also using systems such as Linux to understand system management and OS-level security concepts.
This module introduces you to the core programming constructs of the C++ language, using a problem-based approach to develop your coding skills. You’ll learn how to design and implement solutions that build a strong foundation for object-oriented programming. The focus is on practical application, helping you gain transferable skills that are essential not only for C++ but for understanding and working with all modern object-oriented languages. Indicative content - Object-Oriented Program Development: You’ll learn how to use an object-oriented development environment to create source code, compile, link, execute, and debug programs. This will give you practical experience of the full development cycle. - Introduction to Object Orientation: You’ll read, understand, and modify small object-oriented programs, building confidence in recognising and applying the principles of object-oriented programming. - Programming Constructs: You’ll make use of core programming constructs—such as declarations, data types, assignment, operators, selection, iteration, and functions—to solve a range of programming problems. - Aggregate Types: You’ll explore arrays and algorithms to extend your programming power, while also learning about storage, memory access, and pointers. You’ll be introduced to classes and structs as ways of organising and structuring data. - Program Development and Testing: You’ll develop problem-solving skills through pseudocode and stepwise refinement, and learn how to use functions as program units to improve organisation and efficiency. You’ll also gain experience in testing and refining your code to ensure reliability.
This module complements the Level 7 programming modules by introducing the fundamental principles of software engineering in a practical, hands-on way. You’ll learn how to design, structure, and communicate solutions for both small and large-scale software systems, building the skills needed to approach development with a professional engineering mindset. By focusing on real-world practices rather than abstract theory, the module prepares you to apply software engineering methods effectively in future projects and advanced study. Indicative content - Problem-Solving: You’ll learn how to capture requirements and apply general problem-solving techniques to software development. This includes approaches to testing and the use of non-programming languages to describe problems and solutions. - Classes and Objects: You’ll develop software using class definitions, methods, data, constructors, and instantiation. You’ll also create simple inheritance structures, applying object-oriented principles to build solutions with multiple classes. - Security: You’ll explore how to encapsulate objects using public and private access modifiers, and understand the role of constructors in creating secure and reliable code. - Object-Oriented Analysis, Design and Implementation: You’ll identify objects within a system and structure data and information into class definitions. You’ll also learn how to map object-oriented design principles into practical programming constructs. - Abstraction: You’ll understand how abstraction helps manage complexity in software, using code blocks, control flows, and modular design to simplify problem-solving. - Class Modelling: You’ll be introduced to UML class diagrams as a way of modelling and communicating object-oriented designs. - Data Design – An Object-Oriented Approach: You’ll model data using object-oriented techniques, drawing both informal and formal diagrams (including UML) to describe information and behaviour. You’ll also be introduced to design patterns as reusable solutions to common problems. - Data Design – A Relational Approach: You’ll explore relational modelling techniques, considering both theoretical and practical design concerns. You’ll also gain hands-on experience constructing and querying databases using basic SQL.
This module introduces the core principles of computer networking, from the fundamentals of network architecture and protocols to the practical skills needed to design, analyse, and troubleshoot networks. You’ll explore how data is transmitted, how different layers of a network interact, and how applications communicate across local and global systems. By combining theory with hands'on practice, you’ll develop the knowledge and skills to understand, build, and manage modern computer networks. Indicative content - Networking Fundamentals: You’ll study the architecture of circuit'switched and packet'switched networks, and the use of copper, fibre, and wireless media. You’ll also examine how media affects bandwidth and throughput, and review the roles, advantages, and disadvantages of hubs, switches, and routers in network configurations such as Ethernet. - Network Layers: You’ll learn how data is segmented and encapsulated, and how MAC and IP addresses are used by switches and routers. You’ll explore TCP and UDP protocols, class'based networks, IP address allocation, and the need for subnets and subnet masks. - Network Models, Protocols, and Applications: You’ll compare the OSI and TCP/IP models, and study the protocols and applications associated with each layer—from the physical layer through to the application layer—understanding their roles and functionalities. - Networking Analysis: You’ll gain experience analysing network traffic using specialist tools, learning how to interpret communication on local networks, understand traffic patterns, and apply methods for analysing network conversations. - Application of Network Knowledge: You’ll apply your knowledge to design computer networks, considering hardware, logical structures, and routing. You’ll also learn troubleshooting techniques and gain practical experience building network applications, including creating software that uses sockets for communication.
This module introduces the core principles of computer security, systems deployment, and software debugging. You’ll explore the legal and ethical frameworks that shape professional practice, while also developing practical skills in areas such as authentication, cryptography, and system management. By combining theory with hands'on experience, the module equips you to understand security risks, apply protective measures, and troubleshoot software and systems in real'world contexts. Indicative Content - Relevant Laws: You’ll explore key legislation including the Computer Misuse Act, Copyright Act, and Data Protection Act, and discuss the issues and constraints they create for computing professionals. - Ethical Issues: You’ll consider ethical challenges around copyright, intellectual property rights, and data protection, as well as the processes involved in gaining ethical approval for projects. - Security Fundamentals: You’ll be introduced to the Cyber Security Body of Knowledge (CYBoK) and examine how online data sharing contributes to Open Source Intelligence (OSINT) gathering. - Authentication: You’ll study authentication methods such as passwords and biometrics, and evaluate their strengths and weaknesses. - Command Line: You’ll gain practical experience using Linux and the command line as tools for system management and security. - Development Cycle: You’ll explore application development methodologies and how they support secure and reliable software deployment. - Defence, Evasion, and Malware: You’ll review common malware defence and evasion techniques, and learn how attackers and defenders adapt to one another. - Cryptography: You’ll be introduced to common cryptographic techniques and their role in securing data and communications. - Debugging: You’ll develop skills in application debugging, learning common practices and techniques to identify and resolve software issues. - IoT and WiFi: You’ll examine the security implications of Internet of Things (IoT) devices and the risks associated with using unsecured WiFi networks.
Build on your knowledge of programming taught in earlier modules (e.g. arrays, structures, simple collections). Gain an introduction to the standard data structures and algorithms that form the core of algorithmic thought in computer science and to the idea of reasoning about the behaviour and performance of a computer program. Indicative content - Reasoning about performance: The idea of an algorithm, time and space complexity, abstract data types. - Basic data structures: Linked lists, stacks, queues, hash tables. - Sorting and searching: Exhaustive and binary search, common sorting algorithms. - Trees: Simple trees, tree search algorithms, tree representations (XML, JSON). - Graphs: Simple and directed graphs, graph algorithms.
Dynamic web applications, through client-side and server side internet development on a full-stack platform. Indicative content - Web Standards: Apply HTML5 and CSS to develop responsive and accessible web designs. - Client'Side Technologies: Implement JavaScript, libraries and frameworks to create effective user interfaces within appropriate development practices and methodologies. - Design Techniques: Use suitable techniques for building dynamic and interactive web applications. - Data Persistence: Explore methods of storing and managing data, considering appropriate and secure use. - Server'Side Scripting Technologies: Apply server'side technologies to provide functionality, evaluating the processes involved and the benefits and drawbacks of server'side processing. - Security and Legal Issues: Examine legal and security considerations including privacy, transparency, data protection, GDPR, authorisation and validation. - Practical Aspects of Security: Apply secure programming practices, network protocols and testing strategies to ensure robust and reliable web applications.
This module develops your understanding and practical experience in the design and implementation of object'oriented software and relational databases. You will review existing designs, create your own to meet stated requirements, and critically evaluate their effectiveness before producing example implementations. Alongside technical skills, you will be encouraged to adopt a software development method, plan tasks effectively, and practise report writing, including critical evaluation of your work and impartial analysis of your methodology. The module emphasises how these skills support further study and contribute to a successful career in software development. Indicative Content - Entity Relationship (ER) Modelling: Identify entities, 1'1, 1'many and many'many relationships, apply design notation, and understand the role of ER in object'oriented software and database design. - Relational Database Design: Use primary and foreign keys to realise relationships, apply link tables for many'many relationships, design to meet application data requirements, and apply normalisation techniques. - SQL: Explore SQL as a programming language, covering basic relational algebra, unions and joins, and practise selecting, extracting, editing and inserting data to meet functional requirements. - OO Software and SQL: Integrate SQL into object'oriented software, align OO and database designs, and realise designs in code. - Development Methodologies: Examine the role of methodologies, review approaches such as waterfall, RAD, agile and TDD, and appraise the role of design within different development methods.
Please note: If you are a Direct Entrant (new student) to this year of study and have not previously taken module ABE101, then you MUST take ABE201 as your Term 2 microcredential module. If you have previously taken ABE101, then you are NOT permitted to take ABE201 in Term 2. Starting university brings new opportunities and challenges, and every student’s journey is different. This microcredential helps you settle into life at Abertay and build the habits that lead to success. You’ll hear from current students sharing their own tips, and reflect on the areas you most want to develop. You’ll get to know Abertay’s systems, explore what makes a successful student and practise core skills such as time management, referencing, academic writing style and using support services. By the end, you’ll have the tools and strategies you need to thrive at university. Indicative content - Navigating Abertay Systems: Get to know the key systems you’ll use at Abertay—such as MyLearningSpace, MS Teams, OASIS and MyAbertay—and learn how to use them effectively. - Expectations of University and You: Explore what’s expected of you as a student and what you can expect from the university. Topics include the code of conduct, independent and blended learning, how courses are structured, health and safety, and the Abertay attributes. - Abertay Discovery Tool: Complete the Discovery Tool to identify your strengths and areas for development across five themes: studying at university, academic skills, digital skills, careers and employability, and wellbeing. - Fundamentals of University: Learn how modules work, how assessments are set, and how to use assignment briefs and feedback to improve your work. - Understanding, Searching and Evaluating Information: Develop strategies for finding and assessing reliable information, building your confidence in research and study skills. - Successful Student Behaviours: Practise the habits that help you succeed: managing time, avoiding procrastination, effective note-taking, preparing for classes, developing a growth mindset, and making use of student support services. - Referencing: Understand academic integrity and why referencing matters. Learn how to avoid plagiarism, create in-text citations and reference lists, and use digital tools to manage your sources. - Sounding Academic: Discover what lecturers mean by “academic style” and how to use the right language in your writing. Learn the rules of academic writing, how to paraphrase effectively, and how expectations differ between school/college and university. You’ll also explore how assessments, marking and feedback work.
Build on the earlier module, Data Structures and Algorithms 1. Gain an introduction to parallel programming on shared-memory and GPU architecture, and the design techniques underpinning parallel applications. Use a range of case studies drawn from typical real-world applications. Indicative content - Parallel Programming: Explore the motivations for parallelisation, the concepts of parallelism and concurrency, Amdahl’s Law, high'level approaches to parallelisation and principles of parallel design. - Low'Level Programming with Threads: Learn how to start and join threads, share data safely, apply mutual exclusion, use synchronisation objects, and understand lock'free techniques. - High'Level Parallel Programming: Study task'based and message'passing parallelism, address data'parallel problems, and exploit locality in programming. - Instruction'Level Parallelism: Examine SIMD instructions and automatic vectorisation for performance optimisation. - GPU Programming: Understand GPU architectures, identify algorithms suited to GPUs, and apply GPU profiling techniques. - Parallel Patterns: Apply design patterns for parallel and concurrent programming, with awareness of sorting, numerical, image processing, searching and optimisation algorithms that benefit from parallelisation
This module introduces the core concepts of optimising interactions between users and computing systems or services, with a focus on how these interactions can be evaluated. You will explore principles of interface design, learn to apply both quantitative and qualitative methods of data analysis, and consider the ethical issues involved in gathering user data. Key aspects of usability and accessibility will also be examined, equipping you with the skills to design and assess user'centred systems that are effective, inclusive and responsible Indicative Content - Designing Studies: Build small studies that investigate and evaluate aspects of interface and interaction design. - Usability and Accessibility: Develop interfaces that are both usable and accessible, taking into account the requirements of different platforms. - Professional and Ethical Issues: Consider the professional standards and ethical procedures involved in conducting user research, including responsibility to participants. - Data Analysis and Evaluation: Apply quantitative and qualitative methods to analyse user data and evaluate design effectiveness
In this module, you will be introduced to a range of Artificial Intelligence techniques that are currently used, or are emerging, to enhance the development of intelligent systems. You will explore how these techniques can be applied across different domains, gaining both theoretical understanding and practical insight into how AI can be harnessed to solve real'world problems and shape future applications. Indicative Content - 'Traditional’ AI: Explore foundational approaches such as rule'based systems, finite state machines and behaviour trees, and understand how they are applied in intelligent system design. - Academic AI Techniques: Study advanced methods including fuzzy logic and fuzzy state machines, genetic algorithms, reinforcement learning, probabilistic techniques, artificial neural networks and clustering algorithms, and evaluate their strengths and limitations. - Applications of AI: Learn how different AI techniques can be combined to create artificial life (A'life) and intelligent systems across a range of domains. - Machine Learning as a Subset of AI: Examine how machines can learn from their environment, adapt to data and improve performance over time. - Evaluating AI/ML Applications: Investigate the range of metrics available to assess AI and machine learning performance, and understand how evaluation informs system improvement. - AI/ML Pitfalls: Develop awareness of the risks and challenges associated with inappropriate application of AI and machine learning, including ethical, technical and practical considerations.
In this module, you will develop your understanding and experience of design and programming within a software engineering context. You will learn how to critically evaluate and apply software engineering practices to create object'oriented software solutions. You will explore both plan'driven and agile methodologies, apply code construction concepts such as coupling, cohesion and test'driven development, and make use of source control. You will also gain experience in applying design principles and design patterns, while ensuring your code is secure, reliable and professional. Indicative Content - Software Engineering (SE): Understand what software engineering is and how it applies to both the development process and programming practices. - SE Development Methodologies: Compare and contrast different approaches such as Extreme Programming and the Waterfall Model, and evaluate their strengths and limitations. - Source Control: Learn strategies and tools for version control, with a focus on using Git to manage collaborative development. - Code Development Practices: Apply key design concepts including coupling and cohesion, and explore practices such as continuous integration/continuous delivery (CI/CD) and test'driven development (TDD). - Unified Modelling Language (UML): Document programs using UML standards, including use case, sequence, class, state'machine and activity diagrams. - Patterns: Review and apply architectural and design patterns to address common programming problems effectively. - Secure Object'Oriented Coding Practices: Identify coding vulnerabilities and types of exploits, and apply secure programming practices to protect against them. - Protecting Against the User: Implement full input verification and validation, and apply secure methods for handling passwords and encryption.
In this module, you will develop an understanding of how Machine Learning (ML) fits within the wider context of Artificial Intelligence (AI). You will explore how ML solutions act as vital components in the development of intelligent systems and how they can be applied to a wide range of problems across different disciplines. The module introduces you to foundational ML and data concepts and techniques, giving you both the theoretical grounding and practical insight needed to begin applying ML in real'world contexts. Indicative Content - Learning Pipeline: Gain a conceptual understanding of the fundamentals and terminology of machine learning. Explore the structure and components of the traditional ML pipeline, including data, models and evaluation. - Applications and Challenges of Applied ML: Examine real'world, data'driven problems and case studies across different contexts. Consider practical issues such as data availability and representation, model characteristics, and the causes and remedies of overfitting and underfitting. - Machine Learning Techniques: Study the main learning paradigms—supervised, unsupervised and reinforcement learning—and their applicability to clustering, regression and classification. Explore classic ML techniques including K'Nearest Neighbours (KNN), Logistic Regression (LR), Support Vector Machines (SVM), Decision Trees (DT) and Artificial Neural Networks (ANN). - Data for ML: Understand the importance of data cleaning and preprocessing. Explore data representation, the curse of dimensionality, feature selection, and the impact of weak descriptors. Learn about dimensionality reduction techniques such as Principal Component Analysis (PCA), with examples of datasets from different domains. - Evaluation Metrics: Learn how to assess model performance using a range of metrics. Explore fitness and cost functions, false positive rates, ROC curves, confusion matrices, and the precision'recall trade'off, and evaluate their suitability in practice. - Model Enhancement: Address poor performance and limited data availability by applying methods to improve models. Explore techniques such as regularisation, gradient descent and cross'validation to assist convergence, optimise parameters and enhance performance.
This module will introduce you to the concept of Green Computing, including the design, development, deployment and use of computing resources in an environmentally sustainable manner. You'll examine the environmental impact of computing technologies and explore the challenges and opportunities of sustainable computing. The module will also cover the social and economic implications of Green Computing, including ethical and legal issues related to sustainability in computing. Indicative content Introduction to Green Computing: You'll explore what Green Computing means and examine the environmental impact of computing technologies, including the challenges and opportunities involved in making computing more sustainable. Sustainable Computing Technologies: You'll discover how energy-efficient hardware and software, virtualisation, cloud computing, renewable energy and effective energy management can help reduce the environmental impact of computing. Green Computing in Practice: You'll explore real-world examples of Green Computing and learn how sustainable computing solutions are designed, implemented and evaluated. Social and Economic Implications of Green Computing: You'll examine the wider impact of sustainable computing, including ethical and legal issues, social responsibility and environmental policies. You'll also explore the economic incentives and barriers that can influence the move towards more sustainable computing.
CCC Grades/points required
Not currently available, please Contact University for up to date information.