Short course
Machine Learning and Artificial Intelligence in Python
Course status:
Applications being accepted
Dates:
20/01/2027 - 24/03/2027
Study format:
In-person weekly
Fees:
£360.00
Data science is a discipline that uses scientific methods, processes and algorithms to extract meaningful information, knowledge and insights from structured and unstructured data.
The aim of this course is to provide insights on intermediate and advanced data science topics, using the Python programming language. The course will explore concepts including machine learning, deep learning and natural language processing from a practical hands-down point of view. The focus will be on tools and methods rather than diving into the theoretical basis, in order to be appreciated by an audience with a minimal mathematical background.
Experience in using a programming or scripting language is a must. Those attending this course should have mastered all the concepts explored in the following course, taking place during the previous term: Python Programming for Data Science: Introduction
In order to complete the assignment (and in order to get the full benefit from the course) you will need access to a computer capable of running the open-source software used in the course and access to the Internet. A limited amount of class time will be allocated to working on the class assignment, so you should ensure that you have access to a computer outside of class.
The course will rely on Jupyter Notebooks for interactive Python programming as they are widely used in Data Science.
Before attending this course, prospective students will know:
- All the requirements and topics covered in the "Python Programming for Data Science: Introduction" course, i.e:
- The fundamentals of linear algebra: what is a matrix and how matrix addition and multiplication are performed.
- The following fundamental concepts of statistics: mean, median, variance and standard deviation, interquartile range.
- The fundamentals of algebra: exponential and logarithm, and trigonometric functions.
- How to perform fundamental Python operations such as variable creation, numerical operations on scalar, vectors and matrices, iteration through a collection, manipulation of elements in a collection.
- How to use NumPy and pandas to import a dataset and extract important statistics from it using techniques such as split-apply-combine (for example, finding the mean, median or max of a quantitative variable for each category in a categorical variable).
- Given a dataset, how to select the appropriate visualisation graph depending on the information to be conveyed, and use the matplotlib and seaborn library to draw it and add title, captions and figure legends.
- How to create and add state and behaviour to a class in Python.
- What is, at least conceptually or visually, a derivative and a gradient.
Book this course
Book your place online using the button below.
Programme details
Courses starts Wednesday 20 January 2027
This is an in-person course which requires your attendance at the weekly meetings in Oxford on Wednesdays, 7.00pm-9.00pm.
Week 1: Introduction to the course. Basic overview of Machine Learning.
Week 2: Overview of a data-science preprocessing pipeline. Exploratory Data Analysis (EDA)
Week 3: Data cleaning and preparation. Feature engineering
Week 4: Supervised learning: regression.
Week 5: Supervised learning: binary classification.Â
Week 6: Supervised learning: multi-class and multi-label classification
Week 7: Decision Trees. Ensemble Methods. Hyperparameter Tuning.
Week 8: Unsupervised Learning for dimensionality reduction and clustering.
Week 9: Introduction to Artificial Neural Networks and Deep Learning.
Week 10: Convolutional neural networks (CNNs). Attention-based models. Transformers.
The following Python libraries will be used during the course:
- scikit-learn (weeks 2-8)
- PyTorch and PyTorch Lightning (weeks 9-10)
- NumPy pandas, matplotlib, seaborn (throughout the course)
Teaching methods
Each week’s session will consist of lectures and hands-on programming exercises, class discussions and interactive programming demonstrations by the lecturer.  
Learning outcomes
By the end of the course, students will have been given the opportunity to have learnt how to:
- choose the right ML task and evaluation metric for a given MLÂ problem and select a set of ML models to be trained;
- set up a data pre-processing pipeline for data science and machine learning algorithms;
- use Python machine learning tools (namely scikit-learn and PyTorch) to build up ML models, train and evaluate them on a test set;
- evaluate whether a model overfits or underfits the data and act accordingly (e.g. opportunely regularise and overfitting model);
- identify the appropriate and most performant model for a given task and tune appropriately the hyperparameters (parameters that cannot be learned by the model).
Assessment methods
Only those students who have registered for assessment and accreditation, in advance of the course start date, can submit coursework/assignments for assessment.
Assessment
You will be set two pieces of work for the course. The first, a multiple-choice quiz on the fundamentals of the course, is due halfway through the course. This does not count towards your final grade, but preparing for it, and the feedback you receive, will help you prepare for your assessed work due at the end of the course: a machine learning project on a dataset agreed with the tutor. The project will draw on the methods and concepts covered throughout the course. The assessed work is marked pass/fail.
Level and demands
The Department’s Weekly Classes are taught at FHEQ Level 4, ie first year undergraduate level, and you will be expected to engage in a significant amount of private study in preparation for the classes. This may take the form, for instance, of reading and analysing set texts, responding to questions or tasks, or preparing work to present in class.
Course aims
1. Explore the landscape of contemporary machine learning (ML) and artificial intelligence.
2. Learn how to use a variety of machine learning algorithms to extract features from the data using Python libraries.
3. Familiarise with the concepts of overfitting and regularisation in ML
4. Gain insights on how to face scaling issues in a “big data” scenario.
IT requirements
In order to complete the assignment (and in order to get the full benefit from the course), students will need access to a computer capable of running the open-source software used in the course and access to the Internet. Only a limited amount of class time will be allocated to working on the assignment, so students should ensure that they have access to a computer outside of class.
Programme details
Courses starts Wednesday 20 January 2027
This is an in-person course which requires your attendance at the weekly meetings in Oxford on Wednesdays, 7.00pm-9.00pm.
Week 1: Introduction to the course. Basic overview of Machine Learning.
Week 2: Overview of a data-science preprocessing pipeline. Exploratory Data Analysis (EDA)
Week 3: Data cleaning and preparation. Feature engineering
Week 4: Supervised learning: regression.
Week 5: Supervised learning: binary classification.Â
Week 6: Supervised learning: multi-class and multi-label classification
Week 7: Decision Trees. Ensemble Methods. Hyperparameter Tuning.
Week 8: Unsupervised Learning for dimensionality reduction and clustering.
Week 9: Introduction to Artificial Neural Networks and Deep Learning.
Week 10: Convolutional neural networks (CNNs). Attention-based models. Transformers.
The following Python libraries will be used during the course:
- scikit-learn (weeks 2-8)
- PyTorch and PyTorch Lightning (weeks 9-10)
- NumPy pandas, matplotlib, seaborn (throughout the course)
Teaching methods
Each week’s session will consist of lectures and hands-on programming exercises, class discussions and interactive programming demonstrations by the lecturer.  
Learning outcomes
By the end of the course, students will have been given the opportunity to have learnt how to:
- choose the right ML task and evaluation metric for a given MLÂ problem and select a set of ML models to be trained;
- set up a data pre-processing pipeline for data science and machine learning algorithms;
- use Python machine learning tools (namely scikit-learn and PyTorch) to build up ML models, train and evaluate them on a test set;
- evaluate whether a model overfits or underfits the data and act accordingly (e.g. opportunely regularise and overfitting model);
- identify the appropriate and most performant model for a given task and tune appropriately the hyperparameters (parameters that cannot be learned by the model).
Assessment methods
Only those students who have registered for assessment and accreditation, in advance of the course start date, can submit coursework/assignments for assessment.
Assessment
You will be set two pieces of work for the course. The first, a multiple-choice quiz on the fundamentals of the course, is due halfway through the course. This does not count towards your final grade, but preparing for it, and the feedback you receive, will help you prepare for your assessed work due at the end of the course: a machine learning project on a dataset agreed with the tutor. The project will draw on the methods and concepts covered throughout the course. The assessed work is marked pass/fail.
Massi Izzo
Dr Massimiliano Izzo is a Research Software Engineer in the Department of Engineering Science, University of Oxford. He has a doctorate in biomedical engineering from the University of Genoa, Italy, and currently works in the department’s FAIR Data Science team on developing innovative data models for the life sciences.
Assessment methods
Only those students who have registered for assessment and accreditation, in advance of the course start date, can submit coursework/assignments for assessment.
Level and demands
The Department’s Weekly Classes are taught at FHEQ Level 4, ie first year undergraduate level, and you will be expected to engage in a significant amount of private study in preparation for the classes. This may take the form, for instance, of reading and analysing set texts, responding to questions or tasks, or preparing work to present in class.
Fees
| Description | Costs |
|---|---|
| Course fee (with no assessment) | £360.00 |
| Assessment and Accreditation fee | £60.00 |
How to enrol
Please use the ‘Book now’ button on this page. Alternatively, please complete an enrolment form.
How to register for accreditation and assessment
To be able to submit coursework and to earn credit (CATS points) for this course, if you wish to do so, you will need to register and pay an additional £60 fee. You can do this by ticking the relevant box at the bottom of the enrolment form or when enrolling online.Â
Students who do not register for CATS points during the enrolment process will not be able to do so after the course has begun.
If you are enrolled on the Certificate of Higher Education at the Department you need to indicate this on the enrolment form but there is no additional registration fee.
