The Graduate Apprenticeship programme is delivered differently to existing degrees. Due to the strong focus on the work-based element of the programme a significant amount of time will be spent in the workplace, with short, intensive teaching periods on campus. As with all Graduate Apprenticeships the work/study ratio is 80/20.
The teaching is frontloaded with skills most relevant to the workplace, enabling apprentices to become valuable team members faster. To complete a full grounding in Software Engineering, theoretical foundations are taught at a later stage.
"Going away to learn in teaching blocks makes apprentices much more productive... it also helps us manage their time and their work." Stacey Wylie, Student Loans Company
The method of delivering this programme has been developed to provide the best support possible to students whilst making sure that they are meeting the standards expected by the workplace. At the forefront of this design are concepts relating to community of practice and the effects of context switching, which have factored heavily into the delivery model which is illustrated below.
The first year of the Graduate Apprenticeship programme aims to frontload much of the fundamental knowledge and skills required to work professionally in the workplace. Students will initially learn how to pick up and navigate through large codebases in languages they may not be intrinsically familiar with, followed by courses with theoretical mathematical grounding and practical development improvement techniques. Apprentices are also expected to write up a report on a piece of work which they will be undertaking with their employer over a long summer period. Courses taught in the first year are:
- How to Learn a New Language
- Foundations of Professional Software Engineering
- Computer Architecture & Network Systems
- Testing and Software Improvement
- Web Application Systems
It is envisioned that by the end of the year, apprentices should be capable of being given simple, contained tasks which they should be able to complete with appropriate guidance.
Now that apprentices have a strong professional and programming foundation, Year 2 aims to expose them to a breadth of knowledge across the wide spectrum of computing. The courses in Year 2 are designed to fill in any gaps in students’ knowledge, considering that some may not touch a particular kind of system or technology in their workplace, strengthen their core understanding of how these systems work and prepare them academically for content which will be encountered in their Honours years. Courses covered are:
- Data Storage
- User Interaction
- Advanced Professional Software Engineering
- Practical Algorithms
- Systems Programming
- Data Science Fundamentals
It is expected that apprentices should be capable of contributing to team discussions at work and will be relied upon to complete assigned tasks with a high degree of autonomy.
In Year 3 the Graduate Apprentices will join existing Undergraduate Computer Science courses. Apprentices will spend a day and a half on campus during term time taking part in Honours level courses, a list of which can be found in the full course catalogue.
For the rest of their time apprentices will be in the workplace, operating as an employee while contributing work towards a major software development project to be presented by the end of the summer.
Year 4 will operate in a similar fashion to Year 3, however the major workplace project will be expected to be of considerably higher quality. The final result will be a dissertation detailing the work they have done over the course of the year.