BSc Applied Software Engineering
Cardiff, United Kingdom
DURATION
3 Years
LANGUAGES
English
PACE
Full time
APPLICATION DEADLINE
Request application deadline
EARLIEST START DATE
Sep 2025
TUITION FEES
GBP 28,200 *
STUDY FORMAT
On-Campus
* for overseas | for home year two and three: £9,250 / year one: £9,000
Introduction
This BSc Applied Software Engineering course aims to make you a highly employable software engineer with the skills, knowledge and hands-on experience that graduate employers seek.
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, emphasising technology and standard industry practices.
You will create software-based solutions to real problems in the National Software Academy's dynamic, tech start-up atmosphere. The Academy is part of the School of Computer Science and Informatics.
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.
Industry-focused Engagement
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.
Summer Placement Opportunities
Gain work experience and make valuable industry connections with the opportunity to complete two paid work placements during the summer months. Our dedicated placements team can help you find a placement and provide support during your time there.
Helping Our Students
You will be provided with a laptop at the start of the academic year which will run the necessary software for your course.
Admissions
Scholarships and Funding
Loans and Grants
Financial support information for students.
Bursaries
We wish to ensure that financial circumstances are not a barrier to your undergraduate study opportunities.
Scholarships
We wish to recruit the very best students and to help us achieve this, we offer several scholarships.
Part-time Undergraduate Funding
Information about funding for part-time students.
Financial Support for Asylum Seekers
Information for asylum seekers about the financial support we offer undergraduates and options for funding from outside the University.
Curriculum
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 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 developing 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 underpin your studies and 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 to manage and deliver a substantial software product over 10 weeks.
The modules shown exemplify the typical curriculum and will be reviewed before the 2024/2025 academic year. The final modules will be published by September 2024.
Year One
In year one you learn to think like a programmer and begin to code professionally. You will work primarily with languages such as JavaScript, Java and Python to design, develop and deploy web applications according to the needs of customers.
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 practices to develop quality software.
You will begin to develop your professional skills including communication, project management and the principles of agile development.
Core Modules for Year One
- Introduction to Web Development
- Software Development Skills 1
- Computational Thinking
- Fundamentals of Computing with Java
- Software Development Skills 2
- Database Systems
Year Two
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.
Core Modules for Year Two
- DevOps
- Commercial Applications with Java
- Performance and Scalability
- Agile Project Management
- Cyber Security
- Mobile Development
Year Three
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 a professional software engineer.
Core Modules for Year Three
- Commercial Frameworks, Languages and Tools
- Adopting Technology
- Emerging Technologies
- Large Team Project
- Managing Change
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 for 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 theories, 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, and business cases and presenting to clients and peers, which draw upon your experience of project work.
Program Outcome
What Skills Will I Practise and Develop?
The skills developed in 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 in 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 implement 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.
Intellectual Skills
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, and identify edge cases, inconsistencies, potential pitfalls, and other issues.
- Think critically about software design, and exercise engineering judgment 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.
Transferable/Key Skills
Upon completion of the Programme, a typical student should be able to:
- Critically appraise her or his 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.
Program Tuition Fee
Career Opportunities
Skilled software engineers are in extremely high demand, making employment prospects for graduates in the computing and ICT industries 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 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.
Graduate Careers
- Software Engineer
- Web Developer
- Systems Development Officer
- Business Analyst