Why study this course
Taught at the National Software Academy, this hands-on course is for those who want to learn how software is built and maintained through industry-facing development projects.
Network with our wide range of industry partners through case studies, team projects, networking events and guest presentations.
Professional skills development
Develop your teamwork, leadership, communication and problem-solving skills and learn how to make effective use of your time to deliver value on real client projects.
Innovative teaching atmosphere
Based in a vibrant tech start-up atmosphere, you will be at the centre of a teaching network of industry mentors and experts who will offer their insight into how software engineering works in practice.
This course aims to make you a highly employable software engineer with the skills, knowledge and hands-on experience that graduate employers are looking for.
Designed in close collaboration with industry, this innovative degree will help you gain experience in hands-on software development using current commercial tools and techniques. Our teaching focuses on cloud, mobile and web development, with an emphasis on technology and standard industry practices.
You will create software-based solutions to real problems in a dynamic, tech start-up atmosphere at the National Software Academy. The Academy is part of the School of Computer Science and Informatics.
We accept a combination of A-levels and other qualifications, as well as equivalent international qualifications subject to entry requirements. Typical offers are as follows:
Extended/International Project Qualification: Applicants with grade A in the EPQ/IPQ will typically receive an offer one grade lower than the standard offer. Please note that any subject specific requirements must still be met.
Our grade range covers our standard offer and contextual offer. We carefully consider the circumstances in which you've been studying (your contextual data) upon application.
- Eligible students will be given an offer at the lower end of the advertised grade range.
- Where there is no grade range advertised and/or where there are selection processes in place (like an interview) you may receive additional points in the selection process or be guaranteed interview/consideration.
32-31 overall or 665 in 3 HL subjects.
From September 2023, there will be a new qualification called the Advanced Skills Baccalaureate Wales (level 3). This qualification will replace the Advanced Skills Challenge Certificate (Welsh Baccalaureate). The qualification will continue to be accepted in lieu of one A-Level (at the grades listed above), excluding any specified subjects.
Other qualifications from inside the UK
DDM in a BTEC Extended Diploma in Computing, Engineering, ICT, or IT.
Acceptance of T Levels for this programme will be considered on a case-by-case basis by the Academic School. Consideration will be given to the T Level grade/subject and grades/subjects achieved at GCSE/Level 2.
Please see our admissions policies for more information about the application process.
Tuition fees for 2024 entry
Your tuition fees and how you pay them will depend on your fee status. Your fee status could be home, island or overseas.
Fees for home status
Students from the EU, EEA and Switzerland
If you are an EU, EEA or Swiss national, your tuition fees for 2024/25 be in line with the overseas fees for international students, unless you qualify for home fee status. UKCISA have provided information about Brexit and tuition fees.
Fees for island status
Learn more about the undergraduate fees for students from the Channel Islands or the Isle of Man.
Fees for overseas status
Financial support may be available to individuals who meet certain criteria. For more information visit our funding section. Please note that these sources of financial support are limited and therefore not everyone who meets the criteria are guaranteed to receive the support.
We have a range of residences to suit your needs and budget. Find out more on our accommodation pages.
We're based in one of the UK's most affordable cities. Find out more about living costs in Cardiff.
The course is structured as a full-time degree, taught over three years with two semesters per year.
Formal teaching and group sessions will take place over three days per week with two days per week left for group project work, self-directed learning and accessing other University resources, support services, clubs, societies etc.
Students at the National Software Academy work on the development of software projects for real clients drawn from the private, public and third sectors. Most client-based projects span four weeks and your team will meet with your clients every two weeks during this period. Much of the teaching, learning and assessment is based in the context of these projects.
This three-year course starts by building core analytical and coding skills that will underpin your studies and your future career. Web development projects in year one are followed by more substantial projects in year two, when you apply new skills and knowledge to implement enterprise-scale software systems. Meanwhile, you will take on a larger role in project meetings, building your workplace confidence and communication skills. In year three, you will learn about emerging technologies and combine them with your core skills to produce an innovative product with an appreciation of the latest languages, frameworks and tools. The Large Team Project in the final year is an opportunity for you manage and deliver a substantial software product over 10 weeks.
The modules shown are an example of the typical curriculum and will be reviewed prior to the 2024/2025 academic year. The final modules will be published by September 2024.
You also will start to develop your knowledge of relational and NoSQL database systems. You will learn how to use the same industry-standard tools that are used by real-world developers, following best practice to develop quality software.
You will begin to develop your professional skills including communication, project management and the principles of agile development.
In year two you will work on larger, more complex and technically difficult projects.
You will expand your knowledge in areas such as performance and scalability, cyber security and DevOps, and develop and deploy mobile-based applications according to the needs of customers. This will be necessary to support the scale, resilience and security needs of your cloud-based enterprise solutions.
At this point you are expected to be leading project meetings to plan and manage development work for a team, and regularly holding meetings with customers.
In year three you will learn about user experience design and emerging trends and use these to develop a product with an appreciation of the latest languages, frameworks and tools. You will learn about managing change and adopting technology in organisations.
In the Large Team Project module you will collaborate with other team members to effectively manage a project to develop a high-quality software solution to meet the needs of your clients.
The final year builds upon the experiences of years one and two, and brings together all of the elements you will need to think like and work as professional software engineer.
The University is committed to providing a wide range of module options where possible, but please be aware that whilst every effort is made to offer choice this may be limited in certain circumstances. This is due to the fact that some modules have limited numbers of places available, which are allocated on a first-come, first-served basis, while others have minimum student numbers required before they will run, to ensure that an appropriate quality of education can be delivered; some modules require students to have already taken particular subjects, and others are core or required on the programme you are taking. Modules may also be limited due to timetable clashes, and although the University works to minimise disruption to choice, we advise you to seek advice from the relevant School on the module choices available.
Learning and assessment
The National Software Academy, a part of the School of Computer Science and Informatics, has a strong and active industrial focus, which informs and directs all teaching. We are committed to providing students with teaching of the highest standard.
Key skills are taught through lecturer-led sessions typically with a high proportion of hands-on, practical learning, using current commercial tools and techniques. You will be given a set of concepts and examples, and are then challenged with one or more problems on which you can apply your new skills.
You will often work together to apply your knowledge to achieve solutions to real-world problems in a project-based learning approach. Ample time for mentoring is provided in the timetable, which complements the expected (and significant) self-study that is required. Further learning is provided through industrial talks or additional mentoring.
How will I be supported?
The School of Computer Science and Informatics prides itself on offering a comprehensive support structure to ensure positive student/staff relationships. You will be assigned a member of staff to act as your personal tutor, who will serve as a point of contact to advise on both academic and personal matters in an informal and confidential manner.
The course makes use of Cardiff University’s Virtual Learning Environment (VLE) Learning Central to provide course materials, and additional information is provided online.
The style of course delivery and the focus on projects means that you will receive regular support both from academic staff and also from industry professionals.
You will also have full access to the 24-hour computing facilities in the School of Computer Science and Informatics.
You will have access to the full range of services provided by the University’s Student Support Service: http://www.cardiff.ac.uk/studentsupport/
How will I be assessed?
Teaching is organised into modules. Your progress in each module will be assessed during, or at the end of, the semester in which it is taught. All modules include assessments, the methods of which vary from written examinations and assessed coursework, to a combination of both. Coursework is the preferred method on this degree with your project work being central to this.
The project portfolio is the primary means of assessment for many modules. It consists of a sample of student work, with written explanation and/or reflection. This covers the entire software development lifecycle, depending on the learning objectives of the module for example: requirements, documentation, technical specifications, code, tests, sprint plans, user stories, screenshots of products, and user feedback. You will use the project portfolios to demonstrate your understanding of all relevant theory, and how it has been applied.
A timed computing exercise fulfils a similar purpose, where students undertake a programming, or other software development assignment, working independently, during a set period.
Exams are also used to assess knowledge and understanding more directly. Other forms of assessment during the course include undertaking reflective reports, business cases and presenting to clients and peers, which draw upon your experience of project work.
Students have many opportunities for feedback during contact sessions. You will be involved in giving feedback in activities such as code reviews, retrospectives and self-assessment. Additionally, you will receive feedback from teaching staff, industry professionals and project stakeholders; providing you with experience of the real-life feedback that you may encounter when you find employment.
What skills will I practise and develop?
The skills developed on this course mirror the complete software lifecycle, covering everything needed for professional work, including:
- Meeting with customers and gathering their requirements.
- Managing projects, timescales and software teams for the delivery of real projects.
- Effectively communicating technical and non-technical ideas to a range of audiences, verbally and in writing.
- Analysing requirements and applying current software engineering concepts and knowledge of technology to develop useful products -- and make them scalable, robust and secure.
- Fluency in industry-standard programming languages and confidence working with a range of operating systems.
- Ability to confidently use industry-standard tools such as IDEs, DBMSs and source control.
- Debugging and testing code to fix bugs and defects.
- Design and implementing relational and NoSQL database systems for real projects.
- Securing database systems, network communication and web-applications.
- An intuition for software design and code quality, and an ability to think like a developer, making pragmatic engineering judgements and trade-offs in a fast-paced commercial environment.
- Reviewing code and giving effective feedback and mentoring to colleagues.
- Deploying and launching products and services, supporting real users.
Knowledge & Understanding:
Upon completion of the Programme a typical student will be able to demonstrate the ability to apply their knowledge/understanding of:
- Concepts, syntax, and language features common to a range of computer programming languages used in industry.
- Appropriate tools and techniques to design, write, debug, test, manage and deploy code; as well as to manage a commercial software development process such as Agile.
- Technical knowledge of a variety of platforms and technologies used in industry.
- A deep understanding of what constitutes good quality code.
- Cutting-edge technologies and trends in selected research areas of computing.
- Understanding of a range of 3rd party libraries, frameworks, and large commercial codebases.
Upon completion of the Programme a typical student should be able to:
- Evaluate the available options to select the most suitable tools and techniques for use in each stage of software development;
- Analyse complex problems effectively, identify edge cases, inconsistencies, potential pitfalls, and other issues.
- Think critically about software design, exercise engineering judgement in the context of writing and developing software.
- Sustain a critical argument, in writing, presentation and group discussion. Solve unseen problems, iteratively; by identifying a starting point and developing a solution incrementally.
Professional Practical Skills:
Upon completion of the Programme a typical student should be able to:
- Use current commercial planning tools and techniques to plan, schedule and manage a commercial software development project and track the project during its lifecycle.
- Gather, analyse and prioritise appropriate functional and non-functional requirements during meetings with real customers using commercial tools and techniques and consider quality and other constraints.
- Design, write, test, debug, manage and deploy code productively on large projects in a commercial, team context.
- Work with a variety of platforms (cloud, mobile, web) using a range of languages, technologies, and tools.
Upon completion of the Programme a typical student should be able to:
- Critically appraise her or his own work and the work of others, through written and verbal means;
- Clearly and efficiently communicate complex ideas, principles and theories effectively by oral, written and practical means - to a range of audiences, most notably industrial customers.
- Work and learn effectively in a team and as an individual;
- Appreciate opportunities for career development and lifelong learning by participating in the University’s Personal and Career Development Programme and by building up a life-long support network of industrial contacts;
- Undertake independent study, and critical reflection.
Careers and placements
Skilled software engineers are in extremely high demand, making employment prospects for graduates in the computing and ICT industry superb.
As a student at the National Software Academy you will get many opportunities to meet and work with companies and build your industrial contacts.
You can use your BSc as a pathway to further study on our brand-new MSc in Software Engineering or to the workforce. Our graduates have gone on to work for companies such as Admiral and DevOps. Others have chosen further study or research at Cardiff or other top universities.
Cardiff University’s Careers and Employability Service is available to all students. Our School also has a dedicated Careers Officer and a Placement Officer who will be able to assist you with career advice.
- Software Engineer
- Web Developer
- Systems Development Officer
- Business Analyst
There is no year in industry option offered with this course.
However, you will be encouraged to seek summer placements during your first and second years of study. We have a wide range of companies that are engaging with the National Software Academy and many of these are interested in providing summer placements for the students on this course.
The University also advertises a range of summer placement opportunities, including the option to work or study abroad. The School’s Placement Officer will work closely with industrial partners and the Careers Service to inform students about placement opportunities. Workshops will be provided to give advice on finding and applying for a summer placement.
HESA Data: Copyright Higher Education Statistics Agency Limited 2021. The Higher Education Statistics Agency Limited cannot accept responsibility for any inferences or conclusions derived by third parties from its data. Data is from the latest Graduate Outcomes Survey 2019/20, published by HESA in June 2022.