Fundamentals of Data Science (Technical) - an online course

About this course

This course equips you with the theoretical knowledge and technical skills to apply the powerful insights of data science to your work, as well as providing the foundations for a career in Data Science.

Apply now

This course has been exclusively designed from the ground up by the world-leading Data Science team at the University of Southampton.

Welcome to the Fundamentals of Data Science – Technical, a course designed to introduce you to theoretical components of data science and give you hands-on experience of producing solutions to data science problems through the use of Python. Assessment for this course is based upon three practical assignments which are presented in the browser based Jupyter notebook environment.


The course is broken into six weeks.

In week 1, you will meet your tutor and the other participants on this course and find out more about what you will be doing over the next 6 weeks and how we will be supporting you. You will get "hands-on" experience of Jupyter the web-based environment which you will use for the course exercises and assignments.  This week also contains a Python Primer activity for those of you who are unfamiliar with the programming language or would like a refresher.

In week 2, you will learn about the fundamental terminology and processes in data science, discovering the technology landscape that has helped fuel the data explosion, and the tools that data scientists use to unlock the hidden value in these vast amounts of data. This week also contains an introduction to using Python for data science.

You will begin gaining hands-on experience of data science in week 3, focusing on collecting, storing and managing data, and you will learn about the different sources of data and how they can be combined in order to increase the potential insights available.

Week 4 will then help you understand how this data is analysed, covering a range of techniques that a data science team would typically use, from statistics to machine learning. You will use Python to apply these analytical techiques to a real-world dataset.

In week 5, you will learn about how the findings from data science work can be reported using different data visualisation techniques. You will discover the various ways in which particular types of data can be displayed in order to highlight a key finding and improve the impact of your reports.

In week 6, you will be looking at the future of data science and we will be focusing on supporting you to finish off your assignments.

Hands-on experience and assignments

Each week contains a mix of taught material, self-study material, activities and practical online exercises.

Week 1 includes an (optional) introduction/'refresher' on Python. This includes online exercises for you to work through at your own pace.  This not graded. Week 2 contains further Python practice exercises.  You are encouraged to do these as these will help you with your assignments. Again, these practice exercises are not graded.

Weeks 3, 4 and 5 each include online exercises (ungraded) and a related graded coursework assignment.

To find out more, fill out the enquiry form or email us on

Aims and learning outcomes

This course will provide you with the knowledge and expertise to become a proficient data scientist.

Having successfully completed this module, you will be able to:

  • Understand the key concepts in data science, including their real-world applications and the toolkit used by data scientists;
  • Explain how data is collected, managed and stored for data science;
  • Implement data collection and management scripts using MongoDB;
  • Demonstrate an understanding of statistics and machine learning concepts that are vital for data science;
  • Produce Python code to statistically analyse a dataset;
  • Critically evaluate data visualisations based on their design and use for communicating stories from data;
  • Plan and generate visualisations from data using Python and Bokeh.

Upon successful completion of the course, you will be awarded with a Certificate of Completion and a graded transcript.

Visualising Bokeh (Python)
Stats / Analysis NumPy/SciPy/Pandas
Management / Querying MongoDB (using Python)
Base Python
Assignment 1 - Libraries
Requests, Json, BS4 – BeautifulSoup, urllib, robotparser – RobotFileParser, Pymongo – MongoClient.
The first assignment asks you to collect data from an API then process the data for a specific output. To complete this assignment, you will have access to the Python libraries listed below though you may wish to use others.
Assignment 2
Numpy, Pandas, Bokeh – charts, Scikit-learn: model_selection – train_test_split, linear_model – LinearRegression, metrics – mean_squared_error.
For the second assignment you are asked to create functions using the following libraries to produce solutions for problems through statistical analysis and creation of machine learning algorithms. The Python libraries suggested for use in producing solutions are listed below.
Assignment 3
Ipywidgets: interact, interactive, Hbox, Label, Slider; Bokeh: palettes - Spectral6, io – output_notebook, output_file, show, push_notebook, curdoc; models: TapTool, CustomJS; models.sources: ColumnDataSource; models.tiles – WMTSTilesSource, tile_providers; – output_file, output_notebook, show and push_notebook; Ipython: display.
The third and final assignment requires you to create a user friendly and useful interactive visualisation of data which you have collected in your previous work. For this assignment a set of libraries and packages are imported for you though you are free to use other libraries and tools.
With experience of using all of these libraries and such concepts as lists, dictionaries, series, dataframes and .loc you should be able to complete this course with ease within the 10 hours per week of study recommended. If you are aware of the majority of these libraries but have only limited experience of using a few of them the recommended 10 hours study per week should suffice if coupled with weekly attendance to individual and group tutorials.
With limited awareness or understanding of these libraries or the use of Python as a programming language you may still complete the course successfully by choosing one or more of the following suggested options.
If you have limited programming skills there is the opportunity to purchase intensive support in the form of weekly 1-to-1 tutorials in which the tutor will walk you through the course practice material focusing on understanding and application. You may decide to brush up on your programming skills by taking part in one of the many online free Python courses available e.g. Programming with Python and Plotting and Programming with Python offered by the Software Carpentry Foundation.
A final option is to consider the Fundamentals of Data Science (Non-Technical) course with a focus on the data upon which you may be considering performing data science which does not involve any programming.

Week 1: Welcome and course information


  • Welcome and introduction
  • Learning outcomes of the week
  • What data science is and why it's important
  • Course syllabus and learning outcomes
  • Using discussion forums 
  • Introduce yourself
  • Help and tutoring support
  • Course assignment details
  • A 'hands-on' Jupyter familiarisation activity
  • Python Primer
  • Glossary of terminology

Week 2: Introduction to core concepts and technologies


  • Introduction
  • Learning outcomes of the week
  • Data science in a nutshell
  • Terminology
  • The data science process
  • A data science toolkit
  • Types of data
  • Example applications
  • Further reading
  • Summary

Week 3: Data collection and management


  • Introduction
  • Learning outcomes of the week
  • Sources of data
  • Data collection and APIs
  • Exploring and fixing data
  • Data storage and management
  • Using multiple data sources
  • Further reading
  • Summary

Week 4: Data analysis


  • Introduction
  • Learning outcomes of the week
  • Terminology and concepts
  • Introduction to statistics
    • Nature of statistics and introduction
    • Central tendencies and distributions
    • Variance
    • Distribution properties and arithmetic
    • Samples/CLT
  • Basic machine learning algorithms
    • Linear regression
    • SVM
    • Naive Bayes
  • Further reading
  • Summary

Week 5: Data visualisation


  • Introduction
  • Learning outcomes of the week
  • Types of data visualisation
    • Exploratory
    • Explanatory
  • Data for visualisation
    • Data types
    • Data encodings
    • Retinal variables
    • Mapping variables to encodings
    • Visual encodings
  • Technologies for visualisation
    • Bokeh (Python)
  • Further reading
  • Summary

Week 6: Future of data science


  • Introduction

  • Learning outcomes for the week

  • The future of data science


The Fundamentals of Data Science (Technical) course is £1500 per person, inclusive of VAT.

For corporate packages, please see here.

Extra tuition support is £400, inclusive of VAT.

How to Pay

You can pay by phone, email or Flywire, using the application form here.

Paying Online

  • To make a payment using this method, fill out the application form and select "Pay by Credit / Debit Card".
  • A 2% fee is charged for payment by credit card and we do not accept American Express. 
  • Fees paid by this method will be charged in British pounds sterling.

Paying by Phone

  • To make a payment using this method, fill out the application form and select "Pay by Phone". 
  • A 2% fee is charged for payment by credit card and we do not accept American Express. 
  • Fees paid by this method will be charged in British pounds sterling.

Pay by Email

  • To arrange a payment using this method, please contact us once you have received confirmation of your place. Contact your course advisor, agent, or email us on 


  • To make a payment using this method, fill out the application form and select "Pay by Flywire".
  • Best for international participants: accepting over 70 currencies via credit card, debit card, or bank transfer.

  • Simply visit and follow the instructions on the website. Please use the same email address that you used when you applied to the course.



Extra tuition support

All of our courses are tutor-led, designed to develop your knowledge and competency as quickly as possible. The standard fee includes access to weekly guided seminars and support from your tutors throughout the course.

For ambitious students who wish to take the course, but whose knowledge of Python or statistics is less complete, we can offer an additional pack of five intensive one-hour tutorials. These supplementary tutorials will help you work through any issues you may encounter on the course, allowing you to rapidly gain confidence in deploying Python for Data Science.