Part - the smallest piece of the curriculum, a notebook requiring ~10 hours of study time. Usually, 5 Parts make up a Sprint. A Part can contain a Project requiring corrections (usually the 5th part of a regular Sprint) or theoretical knowledge with some practical exercises and a quiz (usually the first 4 Parts of a Sprint). To progress further in the course, either a quiz or a correction needs to be completed.
Project - a Part dedicated completely for practical work. A project aims to incorporate as many topics from the current and previous sprints as possible to allow practicing your skills. Most projects require 1 STL and 1 peer correction to be passed.
Sprint - a larger piece of the curriculum requiring ~50 hours to complete. It is either a collection of 5 Parts out of which one is a project, or one larger capstone project. A sprint always requires a correction to be passed.
Capstone project - a practical task at the end of a module that takes a whole sprint (~50) hours to complete. It allows to practice all of the skills learned throughout a module
Module - Largest piece of the curriculum, usually made up of 3 Regular Sprints and 1 Capstone Project Sprint. Takes about 200 hours to complete. Some of the modules can be optional.
Specialisation module - a module that a learner chooses from a pool of options depending on the data roles and companies that they plan on applying to. The module covers the tools, skills and technologies needed for specific roles or companies. Most specialisation modules are prepared in cooperation with our Hiring Partners. The whole module is primarily a practical project, although you are likely to need to learn certain new concepts while completing it. Takes about 200 hours to complete.
Course Structure*
Module 1: Introduction to Data Engineering | ||
Sprint 1 | Intermediate Python & Git - Python data model, Python sequences, Git basics | |
Sprint 2 | Introduction to Relational Databases & SQL Basics - Python mutability and object references, SQL queries | |
Sprint 3 | Intermediate SQL - SQL joins, subqueries, sets, and strings | |
Module 2: Fundamentals of Data Engineering | ||
Sprint 1 | Advanced Python & Linux Shell Commands - Linux distribution and architecture, shell commands, Python interfaces, and inheritance | |
Sprint 2 | Managing Relational Databases & Advanced SQL - database security and compliance, Python iterators and generators, SQL indices, transactions, and views | |
Sprint 3 | Working with Data Pipelines & Apache Airflow - constructing ETL pipelines, Airflow DAGs, and workflows | |
Module 3: Intermediate Data Engineering | ||
Sprint 1 | Data Warehousing & dbt - enterprise data warehousing, defining data models with dbt | |
Sprint 2 | Data Mesh & ML systems design - architecture, principles of data mesh, feature engineering, model development, and evaluation | |
Sprint 3 | Docker & Intro to MLOps - Docker basics, container concept, and containerization principles, ML model monitoring, and continual learning | |
Specialization modules (optional) | ||
(learner must choose at least one) | ||
Module 4A | Google Cloud Platform | |
Module 4B | Amazon Web Services | |
Specialization | Data analysis and visualisation with Python |
*Turing College reserves the right to update and (or) amend the course curriculum and its structure as well as release new course versions.
Specialisation modules
What is a specialisation module?
Specialisation modules represent the largest projects that you will complete in Turing College. The required time to complete one specialisation module is roughly that of a regular module. They serve multiple purposes:
Acting as an impressive portfolio items to show to employers
An opportunity to get a taste of what projects and work will look like at specific companies
Deepening your knowledge in a specific area that you have learned about so far in the course
Learning new things that are required by specific specialisations or companies
Choosing a specialisation module
You get to choose specialisation modules after you complete the first 4 modules of the course. All specialisation modules will be available to choose from and Turing College team will be ready to advise you on which could potentially best suit you. Some things to take into account are:
Is the specialisation module going to have the right level of difficulty for me? It shouldn’t be too easy, not extremely difficult.
Which areas of data science do you want to get better in?
Which companies are you most interested in? Is the company likely to hire at the time of your graduation (Turing College can help you with this information)?
Usually, a learner will complete 2 specialisation modules. Once you complete the first one, you will get to choose the second one from the remaining specialisation modules (and any new ones if they get added during that time).
Do I need to apply to the company whose specialisation module I chose?
No, you do not need to apply that company. Choosing a specialisation module of a company just increases (but doesn’t guarantee) your chance of successful application to that company.
How do specialisation module corrections differ?
Specialisation module corrections will last longer (typically, up to an hour) and may have people from the company that prepared the specialisation module join in to listen and ask questions. In a successful scenario, this could fully replace a technical challenge when applying to that company.
How much help will I receive during specialisation modules?
Different companies have different preferences about how much help should be given to a learner while they are working on a specialisation module. Some might want there to be minimal help, others might want there to be weekly (or more regular) check-ins with STLs or themselves. However, at least minimal guidance is always expected (for example, during your standups), so do not expect that you will need to work for a month or more completely on your own.
Are there team specialisation modules?
Currently, all specialisation modules will be individual. This is because our Hiring Partners saw this as a better way to evaluate a learner’s preparedness for a junior role, in which they will need to show a level of independence.
Teamwork is still an important part of your learning experience here and there are plenty opportunities to practice it. We encourage throughout the whole course to regularly help and get help from other learners, organise study groups and build a useful network of colleagues.