Short course
Machine Learning and Artificial Intelligence in Python
Course status:
Applications being accepted
Location:
Online
Dates:
17/09/2026 - 26/11/2026
Study format:
Online - live
Fees:
£430.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.
This course aims to provide insights on intermediate and advanced data science topics, using the Python programming language. The course will explore concepts such as 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, to be appreciated by an audience with a minimal mathematical background.
Experience in using a programming or scripting language is a must. The student should master all the concepts explored in the course Python Programming for Data Science: Introduction
To complete the assignment (and 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. A limited amount of class time will be allocated to working on the class assignment, so students should ensure that they 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.
Apply for this course
Apply using the button below.
Programme details
This course begins on the 17 Sep 2026, which is when course materials are made available to students. Students should study these materials in advance of the first live meeting which will be held on 24 Sep 2026, 19:00-20:00 (UK time).
Week 1: Introduction to the course. Basic overview of Machine Learning. Linear Regression example.
Week 2: Overview of a data-science pre-processing pipeline. Exploratory Data Analysis
Week 3: Data cleaning and preparation.
Week 4: Supervised Learning: regression.
Week 5: Supervised Learning: classification.
Week 6: Decision Trees. Ensemble Methods. Hyperparameter Tuning
Week 7: Dimensionality reduction and Unsupervised Learning.
Week 8: The Perceptron. Back-propagation. Fully-connected neural networks.
Week 9: Deep Learning: fundamental concepts. Transformers and attention.
Week 10: Deep Learning: other architectures- GANs/Autoencoders
The following Python libraries will be used during the course:
- scikit-learn (weeks 2-7)
- Pytorch (weeks 8-10)
- NumPy pandas, matplotlib, seaborn (throughout the course)
- HuggingFace Transformers (week 9)
Level and demands
This course is open to all, and no prior knowledge is required.
This course is offered at FHEQ level 4 (first year undergraduate level), and you will be expected to engage in independent study in preparation for your assignments. Our 10-week Short Online Courses come with an expected total commitment of 100 study hours.
English Language Requirements
We do not insist that applicants hold an English language certification, but we warn that they may be at a disadvantage if their language skills are not of a comparable level to those qualifications listed on our website. If you are confident in your proficiency, please feel free to enrol. For more information regarding English language requirements, please see here.
Selection criteria
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: real and complex numbers, 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 library to draw it and add title, captions and figure legends.
- How to create and add state and behaviour to a class in Python
- How to use nltk to preprocess a text and convert it to a numerical representation that can be manipulated by information retrieval algorithms.
- What is, at least conceptually or visually, a derivative and a gradient
Course aims
- Explore the landscape of contemporary machine learning (ML) and deep learning.
- Learn how to use a variety of machine-learning algorithms to extract features from the data using Python libraries.
- Familiarise with the concepts of overfitting and regularisation in ML.
- Gain insights on how to face scaling issues in a ‘big data’ scenario.
IT requirements
Any standard web browser can be used to access course materials on our virtual learning environment, but we recommend Google Chrome. We also recommend that students join the live webinars on Microsoft Teams using a laptop or desktop computer rather than a phone or tablet due to the limited functionality of the app on these devices.
Programme details
This course begins on the 17 Sep 2026, which is when course materials are made available to students. Students should study these materials in advance of the first live meeting which will be held on 24 Sep 2026, 19:00-20:00 (UK time).
Week 1: Introduction to the course. Basic overview of Machine Learning. Linear Regression example.
Week 2: Overview of a data-science pre-processing pipeline. Exploratory Data Analysis
Week 3: Data cleaning and preparation.
Week 4: Supervised Learning: regression.
Week 5: Supervised Learning: classification.
Week 6: Decision Trees. Ensemble Methods. Hyperparameter Tuning
Week 7: Dimensionality reduction and Unsupervised Learning.
Week 8: The Perceptron. Back-propagation. Fully-connected neural networks.
Week 9: Deep Learning: fundamental concepts. Transformers and attention.
Week 10: Deep Learning: other architectures- GANs/Autoencoders
The following Python libraries will be used during the course:
- scikit-learn (weeks 2-7)
- Pytorch (weeks 8-10)
- NumPy pandas, matplotlib, seaborn (throughout the course)
- HuggingFace Transformers (week 9)
Teaching methods
This course takes place over 10 weeks, with a weekly learning schedule and weekly live webinar held on Microsoft Teams. Shortly before a course commences, students are provided with access to an online virtual learning environment, which houses the course content, including video lectures, complemented by readings or other study materials. Any standard web browser can be used to access these materials, but we recommend Google Chrome. Working through these materials over the course of the week will prepare students for a weekly 1-hour live webinar you will share with your expert tutor and fellow students. All courses are structured to amount to 100 study hours, so that on average, you should set aside 10 hours a week for study. Although the course finishes after 10 weeks, all learning materials remain available to all students for 12 months after the course has finished.
All courses are led by an expert tutor. Tutors guide students through the course materials as part of the live interactions during the weekly webinars. Tutors will also provide individualised feedback on your assignments. All online courses are taught in small student cohorts so that you and your peers will form a mutually supportive and vibrant learning community for the duration of the course. You will learn from your fellow students as well as from your tutor, and they will learn from you.
Learning outcomes
A the end of the course the students will be able 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, TensorFlow 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);
- to 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
You will be set independent formative and summative work for this course. Formative work will be submitted for informal assessment and feedback from your tutor, but has no impact on your final grade. The summative work will be formally assessed as pass or fail.
Dr Nick Day
Dr Nicholas (Nick) Day is a Departmental Lecturer in Lifelong Learning for Data Science and Computing at OUDCE. He has taught at the department since 2016 on a range of programming, software engineering, artificial intelligence and data science courses. He completed his PhD in Computer Science Education (CSEd) in 2020 and now applies his pedagogical research to the development of courses and contributes to the department’s AI Steering Group.
Since the 2024/25 academic year, he has had the privilege of working under Professor David J Malan to deliver Harvard’s CS50 course through the OUDCE. CS50 has nearly seven million enrolments on edX and has enabled many to start their careers in STEM.
Nicholas is also a Senior Fellow of the Higher Education Academy (SFHEA), an AdvanceHE certified External Examiner, and a Professional Member of the British Computing Society (MBCS).
Assessment methods
You will be set independent formative and summative work for this course. Formative work will be submitted for informal assessment and feedback from your tutor, but has no impact on your final grade. The summative work will be formally assessed as pass or fail.
Selection criteria
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: real and complex numbers, 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 library to draw it and add title, captions and figure legends.
- How to create and add state and behaviour to a class in Python
- How to use nltk to preprocess a text and convert it to a numerical representation that can be manipulated by information retrieval algorithms.
- What is, at least conceptually or visually, a derivative and a gradient
Level and demands
This course is open to all, and no prior knowledge is required.
This course is offered at FHEQ level 4 (first year undergraduate level), and you will be expected to engage in independent study in preparation for your assignments. Our 10-week Short Online Courses come with an expected total commitment of 100 study hours.
English Language Requirements
We do not insist that applicants hold an English language certification, but we warn that they may be at a disadvantage if their language skills are not of a comparable level to those qualifications listed on our website. If you are confident in your proficiency, please feel free to enrol. For more information regarding English language requirements, please see here.
Fees
| Description | Costs |
|---|---|
| Course Fee | £430.00 |
Module code: O26P842COZ
Experience of using a programming or scripting language is a must. The student should master all the concepts explored in the course Python Programming for Data Science – Introduction prior to enrolling on Intermediate. If you have not participated in Python Programming for Data Science – Introduction then you will need to provide details of your previous Python programming experience. We may need to come back to you seeking further information.
To enrol please complete an enrolment form.
Once completed please email the enrolment form to onlinecourses@conted.ox.ac.uk where we will arrange your enrolment and send you an invoice for payment.
