This chapter will take you from complete beginner to confident coder in a matter of weeks, and make sure that everyone is comfortable with the material required for the rest of the course. You’ll learn concepts fundamental to programming and solidify your understanding through the challenges assigned throughout the course.It is suitable both for those who have no experience in programming and those who have programmed in other languages, but would like to learn Python.
Module 1 - Set up and understanding
How does a computer process information?
“Hello World” program
What is syntax?
Basic Python built-in functions
Expressions, Values and Variables
Module 2 - Logic and control flow
Logical and comparison operators
While loops, For loops and iterables
Module 3 - String manipulation and object methods
Basic string manipulation
Immutability of strings
Module 4 - Numerical methods and complexity
Guess and check
Computational Complexity and Big O notation
Time and space efficiency of programs
Classes of program complexity
Module 5 - Functions
Function definitions and calls
Functions as objects
Module 6 - More data types
Compound data types
Tuples, lists and dictionaries
Module 7 - Sets and recursion
Set theory and notation
Set objects and operations
Module 8 - Object oriented programming and error handling
What are classes, methods and attributes?
Exceptions and error handling
Module 9 - Computational Modelling
Best, average and worst case modelling
As data plays a larger part in every organisation, especially digital ones, it becomes more and more necessary to understand where data comes from, how it's stored, and how it's manipulated.
Module 1 - Introduction.
Introduction to data pipelines
Introduction to APIs
Module 2 - Web scraping.
Selenium for web scraping
Performing basic web automation actions
Referencing HTML elements using Xpath
Module 3 - SQL.
SQL Join operations
Module 4 - File structures and Pandas
Understand standard file structures like CSV, XML, etc
Using Pandas library to load in and manipulate data files
Module 5 - Data cleaning
Data cleaning techniques and how to implement them
Module 6 - Descriptive statistics
What is descriptive statistics and how to use it
Module 7 - How to deal with missing data
Data imputation, removal and other data cleaning techniques
Module 8 - Data visualization
Visualising data in Python using Plotly
This chapter is a comprehensive introduction to the foundations of machine learning (ML). There is a deep focus on being practical - actually building every algorithm you learn and knowing how and when to apply it.
We’ll begin with an introduction to the basic machine learning problems and the different types of ML. In each successive session, you'll learn the theory behind a particular algorithm before implementing it and using it on a real dataset.
Module 1 - Introduction to machine learning
Validation and testing
Hyperparameters, grid search and K-fold cross validation
Module 2 - Gradient methods
Module 3 - Theory
Fitting Polynomials and the curse of dimensionality
Bias & variance, underfitting and overfittting
Maximum Likelihood Estimation (MLE)
Module 4 - Supervised learning techniques
Support Vector Machines (SVMs)
Module 5 - Unsupervised learning techniques
PCA and t-SNE
Data science is one of the fastest growing fields as measured by the number of people employed in it. As data plays a larger part in every organisation, especially digital ones, understanding and being able to pick out insights becomes a crucial competitive advantage.
Module 1 - Introduction to data science
Module 2 - Case Study
House prices regression case study
Module 3 - Time series modelling
ARMA and ARIMA
Holt Winters forecasting
Facebook’s forecasting tool, Prophet
Module 4 - A/B testing
How to run and evaluate A/B tests
Module 5 - Recommendation systems
Content based recommendation systems
Module 6 - Traditional NLP
Topic modelling for document summarization
Deep Learning has become continuously more important and impressive in the past few years. Through the use of Artificial Neural Networks, the field of AI has been propelled into the spotlight. Computers can now do things thought impossible just years ago and the boundaries are being pushed rapidly by new research.
This chapter will build upon your knowledge of traditional Machine Learning and comprehensively cover Deep Learning. You will learn about the different Neural Network architectures, what they are used for, why they work well on particular types of data and how to implement them using the PyTorch library.
You will be equipped with the foundational knowledge and skills to be able to read the latest papers and implement them. As well as use pre-trained models from the web and tweak them to your own needs.
Module 1 - Intro to Pytorch
Intro to PyTorch Deep Learning library
What is Autograd?
Implementing Linear Regression in PyTorch
PyTorch Datasets and Dataloaders
Applying augmentation using PyTorch transforms
Saving and Loading models
Module 2 - Tensorboard
Introduction to Tensorboard
How to write data to Tensorboard
Module 3 - Neural networks
The maths behind Neural Networks
Implementing Neural Networks in PyTorch
Module 4 - Optimisation for deep learning
The maths behind different optimisers (SGD, AdaGrad, RMSProp, Adam)
Using optimisers with PyTorch
Hyperparameter tuning using the Ray library
Module 5 - Custom datasets
Building custom datasets in PyTorch
Module 6 - Convolutional Neural Networks
The maths behind Convolutional Neural Networks (CNNs)
Implementing CNNs in PyTorch
Module 7 - Regularisation for deep learning
Module 8 - GPU acceleration and cloud training
What is a GPU and what kind of operations can GPUs accelerate?
Using a GPU to train PyTorch models
Using Amazon Web Service’s (AWS's) EC2 service to train models in the cloud
Module 9 - Using pre-trained models
Using pre-trained models from PyTorch
Module 10 - Object detection and image segmentation
Single instance object detection problem
Training a CNN for segmentation task
Module 11 - Autoencoders
Intro to autoencoders
Module 12 - Recurrent Neural Networks (RNNs)
Long Short Term Memory Networks (LSTM)
Module 13 - Generative Adversarial Networks (GANs)
Deep Convolutional GANs (DCGAN)
Generating fake images of fashion and faces using GANs
NLP is the most implemented in enterprise among sub-fields of AI. In the digital age, language is still key to communication and being able to analyse the large swathes of data collected within an organization will propel their efficiency forward.
Through the use of neural networks, specifically the transformer architecture, results thought impossible have been produced. There is a headline about some baseline record being broken every few months. You don't have to search for long to find large passages of writing online written by AI that are indistinguishable from human-written content.
Due to the largely open nature of AI research, there are pre-trained models that cost hundreds of thousands of dollars to train which are available for public access. There is a wave of new startups that are built on top of these releases.
Module 1 - Word embeddings
Creating representations of words with dense embeddings
Module 2 - Recurrent Neural Networks for NLP
Module 3 - Sequence to sequence tasks and attention
Implementing seq-to-seq for machine translation
Module 4 - Self-attention
Module 5 - Custom NLP datasets
Creating custom NLP datasets using TorchText
Module 6 - Using the state of the art
Bidirectional Encoding Representations using Transformers (BERT)
Using the HuggingFace Python library
Having learnt about how to build and train different Machine Learning models in Python, you now need to be able to deploy these models so they can be used on the web and other applications by real users.
This chapter will guide you through the different options available for deploying your model, whether they are basic regression functions or large neural networks.
Module 1 - Building an API
Using the Flask Python library to create an API
Using Docker to run your code on any machine
Automating code running using Cron
Module 2 - Cloud services
Deploying a Docker container on AWS EC2
How to run code in the cloud using AWS Lambda
How to make your code accessible using AWS API Gateway
Module 3 - 3rd party AI services
AWS AI services
Google Cloud Platform AI services
Module 4 - Basic web development
HTML, CSS and JS basics
Making API requests from a web application
Module 4 - ONNX
Using ONNX to make your model transportable
Running neural networks in the browser using ONNX
"By the time your graduate, you'll know everything a data scientist or machine learning engineer will need to have an impact in the workplace."
Evgeny Dyshlyuk - Research Scientist, Imperial College London
Data science and machine learning are about understanding how data can be used to make key business decisions and automate processes. Given the huge amounts of data being collected in the digital age, companies across all fields want to utilise their data to inform their decisions and improve operational efficiency. The demand for data scientists has tripled over the past 5 years. The number of machine learning engineer positions on Indeed quadrupled between 2015 and 2018.
This course was created with the intention of helping meet that demand. Most of our students have a STEM background and are required to have a basic understanding of linear algebra, statistics and coding. The 15 minute quiz you complete during the application process will assess this and will give you access to precourse material to fill in any gaps in knowledge you may have.
If you are love solving problems across different fields using data and are looking to get hired doing this, you have come to the right place.
Throughout the programme, you will build a portfolio of projects that will showcase your practical skills. But we know there's more to getting hired than technical knowledge.
At the start of the programme you will have a consultation with one of our coaches to help figure out the optimal career for you. As you work progress in your learning, our career coaches will help you polish your CV, hold mock interviews, audit your LinkedIn and keep you accountable in your job search process.
You will be recommended to exclusive roles with our hiring partners and be matched with an industry mentor to make sure you are ready for the workplace.
Our goal is for you to feel 100% confident going into any hiring process.
Dedicated support means that on top of the 12 hours in class per week, you’ll have scheduled group office hours weekly, support through Slack and 1-on-1 sessions available to book.
Don’t waste a second. Learn from the comfort of your own home. Reach instructors instantly. Be ready with just an internet connection and your laptop.
Download the brochure to see every detail about the course