The Graduate Apprenticeship programme will be 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.
The programme is also frontloaded with skills that will be of use to the apprentices as they are getting started as working professionals, allowing them to make useful contributions in the workplace early and filling in the theoretical foundations at later stages.
The methods 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 have been concepts relating to community of practice and the effects of context switching, which have factored heavily into the delivery model. The following model has been decided upon.
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
- Professional Software Engineering
- Practical Algorithms
- Testing and Software Improvement
- Web Application Design
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
- Computer Architecture and Network Systems
- 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 be given the opportunity to sit in on existing Undergraduate Computer Science courses. Apprentices will spend between a day and 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 [course catalogue].
For the rest of their time apprentices will be in the workplace, operating as an employee while putting 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.