BSc Software Engineering
Course Overview
This Software Engineering degree equips you with the technical expertise and professional skills to design, build, and manage high-quality software systems. You will master a modern tech stack through hands-on projects, from mobile apps to web applications, while learning rigorous development methodologies. The programme emphasizes real-world experience through client-driven group projects and a significant final-year individual project, preparing you for a successful career as a software engineer or entrepreneur.
Key Program Highlights
- Master a modern programming stack including Java, Python, JavaScript, C++, and mobile technologies
- Gain real-world experience through a second-year group project for an actual client
- Learn the full software development lifecycle, from requirements gathering to testing and release
- Undertake a capstone individual project to design and build an innovative software solution
- Study essential foundations in computer architecture, operating systems, and networking
Course Overview
This Software Engineering degree equips you with the technical expertise and professional skills to design, build, and manage high-quality software systems. You will master a modern tech stack through hands-on projects, from mobile apps to web applications, while learning rigorous development methodologies. The programme emphasizes real-world experience through client-driven group projects and a significant final-year individual project, preparing you for a successful career as a software engineer or entrepreneur.
Key Program Highlights
- Master a modern programming stack including Java, Python, JavaScript, C++, and mobile technologies
- Gain real-world experience through a second-year group project for an actual client
- Learn the full software development lifecycle, from requirements gathering to testing and release
- Undertake a capstone individual project to design and build an innovative software solution
- Study essential foundations in computer architecture, operating systems, and networking
Requirements
Modules
- Computing Fundamentals
- Programming Fundamentals
- Mathematics Fundamentals
- Computer Architecture
- Introduction to Object Oriented Programming
- Software Lifecycle and Quality
- Algorithms, Data Structures and Advanced Programming
- Personal and Professional Development 1
- Operating Systems and Networks
- Databases and Domain Modelling
- Information Security Fundamentals
- Software Architecture and System Development 1
- Personal and Professional Development 2
- Software Architecture and System Development 2
- User Interfaces Design and Evaluation
- Data Analytics
- Foundations of Computation
- Foundations of Artificial Intelligence
- Computer Science Project
- Computers, Society and Professionalism
- Mobile and Web Applications
- Generative Development
- C++ Programming
- Internet and Cloud Computing
- Data Science and Visualisation
- Advanced Artificial Intelligence
- Software Measurement and Quality Assurance
- Analysis and Design of Algorithms
- Cryptosystems
- Technology Management
- Functional Programming
- AI for Space
- Deep Learning and Computer Vision