Curious about studying Software Engineeringat University of Stirling? 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)
Main Site
Full Time
Sep 2026
4 Year
You’ll be in high demand for developing the systems that are the foundation and glue of our modern world, and that transform our experiences in communications, business, entertainment, gaming and healthcare. Our degree will teach you creativity, logical analysis, problem-solving and how teamwork builds complex systems. You’ll study practice and techniques for real-world software design and associated programming technologies, gaining practical experience in software development. Our graduates are highly sought-after. To help you build strong links with industry, we offer three-month summer placements and one-year placements with local SMEs and large corporates. Students also have the opportunity to engage with an international teaching environment through our exchange programmes. Study abroad opportunities
This first semester module is a core module for computing science students but is open to anyone with an interest in mathematics who has at least a standard grade (or equivalent) in mathematics. It introduces some concepts in mathematics which are important in computing including number bases (such as binary), logic, matrices and algorithms.
This module is intended for students who wish to acquire skills in computer programming and an understanding of the principles underlying computer systems and networks. It is compulsory for students entering degree programmes involving Computing Science, Software Engineering, Information Systems or Business Computing, but is available to all students.
We have all heard of the term "accounting" - and most of us will have a view on what accounting is (or even what accounting should be?). But why so many different names for the same thing? Well, there are always some clues in the name; and management accounting is just one part of the whole idea of accounting (and finance) in business. In your introductory studies to accounting, this module is a simple introduction to the ideas of why the management of a business needs different types of information. In this module you will learn (a) the dofferences between management and other types of accounting; (b) why management accounting is much more fluid in its approach to calculating information; and (c) some simple methods for calculating important day-to-day imformation.
In this module, we shall examine basic animal and plant cells and their anatomy and physiology.We shall discuss how various tissues and organs function in whole organisms and how animal and plant functions are strictly regulated to meet through homeostatic processes. Examples will be taken from different animal groups, including humans, and from plants that inhabit a variety of different ecosystems.
Everything is on the web. This module will teach you to become an active participant on the web. You will gain a basic understanding of the technologies underpinning the web and of the issues involved in designing a website. And you will gain hands-on experience in building a website, while learning the three main front-end web programming languages HTML, CSS and JavaScript.
This module introduces the concept of water as a finite resource, examines the impacts of man's current usage patterns, and looks at how use might be made more sustainable to preserve the resource for future generations. We will look at both current and future issues of global importance: topics such as drought, pollution, dam construction, declining fisheries and habitat destruction, along with emerging issues such as climate change, water wars and fresh drinking water availability.
This module extends and deepens the study of Java programming, started in CSCU9P1. Lectures cover the design of interactive graphical user interfaces (GUIs), testing & debugging practices, sorting & searching algorithms of arrays, exception handling process, and an introduction to data structure & object orientation in Java. Students will also learn how to develop a good user interface design for desktop applications and for web sites covering principles, practical guidelines and the legal, ethical and practical issues of accessibility for the disabled.
As we move from basic elements of programming towards building fully-functional industrial software, we need to take a structured approach to design that scales successfully. In this module students learn about the fundamental building blocks of computer science, and problem solving more generally. Data structures organise data in a well-defined manner, while algorithms process the data efficiently. The choice of structure or algorithm has benefits and consequences that largely determine if, and how fast, a problem can be solved. These concepts are a crucial foundation underpinning the design of more complex software.
Many websites you interact with every day are built on the technology of a relational database to store information, and a web-based interface to manipulate and display that information (so that the user has no idea of the underlying database). In this module you will learn the theoretical and practical skills to build such a website.
Data is increasingly important for any business, societal and scientific process. Therefore mastering the techniques for handling date is of vital importance. This module gives the opportunity for students to learn and practice the data management methodologies of both a modern programming language and a markup language.
There are hundreds of programming languages, and new ones being developed all the time. A key skill for tech employees is to be quick to learn new languages: this module will help you develop that skill. You will explore the core features underlying programming language design, including practical experience across several language types. You will develop a deeper understanding of how programming languages work, and think critically about how language design supports good programming. By knowing more about the fundamentals, your programming skills will improve.
The study and use of machine learning has enjoyed a huge increase in popularity in recent years and can be found in systems as diverse as medical diagnosis systems and self-driving cars. Many modern artificial intelligence systems are driven by machine learning algorithms. This module teaches the theory and practice of machine learning (also known as data mining or data analytics). Students will learn the best practice for running a machine learning project and learn the theory behind the most common techniques from regression to neural networks. Systems that automatically make decisions (often about people) based on historical data need to be transparent and fair. This module will also consider the ethical aspects of modern machine learning and how to apply it without bias or inequality.
Computer Scientists developing software systems frequently are required to build systems that have concurrent and distributed components. Examples are everywhere - from high-performance computing, to cloud computing, to client/server architectures, much popular on the web and internet, to automotive systems, to cite but a few.
Modern societies and economies rely on computer software in order to function effectively. Software Engineering involves the practical application of the principles of computer science to develop high-quality software that is reliable, efficient and meets the needs of its users. This module gives an introduction to Software Engineering, Requirements Capture and Analysis, Object-Oriented Development in UML, Project Management and Professional Issues. The module focusses on a practical understanding of the Software Engineering life-cycle and how software projects are planned and managed, together with practical skills in methods and tools for software design and testing, with particular reference to object-oriented development using UML for information and system modelling. The module includes a discussion on the issues and consequences of being a professional software engineer, including aspects related to team work and risk management.
Modern societies and economies rely on computer software in order to function effectively. Software Engineering involves the practical application of the principles of computer science to develop high-quality software that is reliable, efficient and meets the needs of its users. This is a core third year Computing Science module covering four topics in Software Engineering: Software Implementation; Software Engineering Mathematics and Specification; Software Project Management; and Professional Issues. A key feature of the module is a group software implementation project. The module also includes student presentations on aspects of Software Project Management.
This module has two inter-related aspects: the first concentrates on general computer security principles and the second focusses on the operation of computer networks and how to secure communications. It will allow students to understand secure data communications principles, open communications architectures, and communication services and protocols in current use. It will enable students to interpret observed message exchanges in a live data network setting. Students will be expected to display an ability to apply theory and techniques to unseen problems without reference to notes, to work independently, and under a time constraint.
The dissertation is your capstone project that runs through the whole of your final year and allows you to demonstrate your competence as an independent, critical and reflective computer professional, drawing on the skills you have developed throughout your degree programme. For the dissertation you will independently undertake the systematic development of a software application of your choice. With the guidance and advice of your dedicated supervisor, you will review the published literature and available technical solutions to identify the project aims and objectives, you will review and compare implementation technologies, you will plan and implement your technical solution (including obtaining ethical approvals), test your software and/or analyse the results using appropriate methods, and interpret and present the findings in a variety of formats (written reports, poster, talk).
DDM Grades/points required
Not currently available, please Contact University for up to date information.