Applied Software Engineering (BSc)
This innovative and new degree is based at the freshly-established National Software Academy.
The BSc Applied Software Engineering aims to make you a highly employable software engineer with the skills, knowledge and hands-on experience required by potential employers. The course aims to develop your ability for creating software-based solutions to real problems in a dynamic, tech start-up atmosphere.
This innovative degree is taught at the National Software Academy in Newport, where you will gain experience in hands-on software development using current commercial tools and techniques coupled with direct industrial involvement.
The course syllabus has been designed in close collaboration with industry. We focus on cloud, mobile and web development, with an emphasis on technology and standard industry practices.
The National Software Academy is part of the School of Computer Science and Informatics and you will also have opportunities to benefit from the knowledge, skills and experience provided by the School.
A key distinguishing feature of this degree is that theory, teaching and learning is explored through real- world software development projects. Students work individually and in teams to manage, design, code, test, deploy and maintain high quality software.
Working alongside fellow students and staff, you will be at the centre of a teaching network which includes industry mentors and industrial experts, who will offer their insight into how software engineering works in practice. Software solutions developed as part of the course will be presented back to real-world clients.
You will learn and apply skills in an environment that feels less like a lecture theatre or laboratory and more like a software development company. From the earliest days on the course, you will be immersed in a project environment in which you will develop your communication, planning and teamwork skills and where you will learn how to make effective use of your skills and your time to deliver value.
|Next intake||September 2019|
|Typical places available||The School typically has 200 places available.|
|Typical applications received||The School typically receives around 1,200 applications.|
|Typical A level offer||ABB - BBB OR Grade A in the EPQ and BBB-BBC at A Level. You will not need to achieve these grades from any specific subjects. Please note that General Studies and Critical Thinking are not accepted for entry.|
|Typical Welsh Baccalaureate offer||The Welsh Baccalaureate Advanced Skills Challenge Certificate will be accepted in lieu of one A-Level (at the grades listed above), excluding any specified subjects.|
|Typical International Baccalaureate offer||30 - 32 points.|
|Alternative qualifications||Alternative qualifications may be accepted. For further information on entry requirements, see the School of Computer Science & Informatics admissions criteria pages.|
|English Language requirements||If you are an overseas applicant and your first language is not English, please visit our English Language requirements page for more information on our accepted qualifications.|
|Other requirements||You will require GCSE Maths at grade C or grade 4 and GCSE English or Welsh Language at grade C or grade 4.|
The course is structured as a full-time degree, taught over three years with two semesters per year. The course is delivered exclusively from the National Software Academy premises in Newport, with full facilities and student support provided. Students will be provided with a travel bursary to cover the costs of travelling to Newport. The premises in Newport are located in very close proximity to Newport railway station.
Formal teaching and group sessions will take place over three days per week in Newport 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 2019/20 academic year. The final modules will be published by September 2019. You are advised to check the final module descriptions when they are available to ensure that the programme meets your needs.
You will begin to develop your professional skills including communication, project management and the principles of agile development.
|Module title||Module code||Credits|
|Introduction to Web Development||CM6112||20 credits|
|Software Development Skills 1||CM6113||20 credits|
|Computational Thinking||CM6114||20 credits|
|Fundamentals of Computing with Java||CM6121||20 credits|
|Mobile Development with Android||CM6122||20 credits|
|Software Development Skills 2||CM6123||20 credits|
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 the final year 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.
How will I be taught?
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.
Although the delivery of the course will take place in Newport, you will be encouraged to base yourself in Cardiff in order to take advantage of everything that it has to offer, both in terms of the University facilities (Libraries, Halls of Residence, Student Union etc.) and the wider city.
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 forfeedback 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.
As a student at the National Software Academy you will get many opportunities to meet and work with companies and build your industrial contacts. Skilled software engineers are in extremely high demand. This means the employment prospects for graduates in the computing and ICT industry are superb. You will be equipped with transferable skills that open doors to careers in many sectors.
In recent years, almost 90% of the School’s graduates were in employment or engaged in further study within six months of graduation. Recent statistics show that the vast majority of our graduates are following their chosen career paths in roles such as Software Engineer, Web Developer, Computer Programmer, Associate Software Developer, Business Analyst and Systems Development Officer.
They go on to work for companies including Airbus Group, Amazon, BBC, BT, Capgemini, Confused.com, GCHQ, IBM, Lloyds Banking Group, MoD, Morgan Stanley, Sky, South Wales Police and Thomson Reuters. Others have chosen further study or research at Cardiff or other top universities.
In addition to the University’s Careers and Employability Service for students, the School has a Careers Officer and a dedicated Placement Officer.
UK and EU students (2019/20)
Visit our tuition fee pages for the latest information.
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.
Students from outside the EU (2019/20)
Tuition fees for international students are fixed for the majority of three year undergraduate courses. This means the price you pay in year one will be the same in years two and three. Some courses are exempt, including four and five year programmes and Medical and Dental courses. Visit our tuition fee pages for the latest information.
We have a range of residences to suit your needs and budget. Find out more on our accommodation pages.
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.