CS3PP19-Programming in Python for Data Science

Module Provider: School of Mathematical, Physical and Computational Sciences
Number of credits: 10 [5 ECTS credits]
Terms in which taught: Autumn term module
Non-modular pre-requisites: Undergraduates must have taken (CS1MA16 or MA1LA) and CS1PR16 and CS2JA16 and postgraduates must be studying for a postgraduate degree in the Department of Computer Science
Modules excluded: CS3PD18 Python and Data Science Applications
Current from: 2019/0

Module Convenor: Dr Tom Thorne

Email: t.thorne@reading.ac.uk

Type of module:

Summary module description:

The module introduces students to the Python programming language and the Python data science module ecosystem, including data processing and machine learning libraries. Data manipulation and statistical data science methods are covered.


The aim of the module is to introduce students to the Python programming language and enable them to work with current tools used in data science.

This module also encourages students to develop a set of professional skills, such as problem solving; critical analysis of published literature; creativity; technical report writing for technical and non-technical audiences; self-reflection; effective use of commercial software; organisation and time management; numeracy; hypothesis generation and testing

Assessable learning outcomes:

Students should be able to implement common computer science algorithms in the Python programming language, apply functional programming paradigms in Python, to read and manipulate data to extract specific features and to apply statistical methods appropriately to analyse data.

Additional outcomes:

Students will have an appreciation of the wider Python ecosystem and tools.

Outline content:

The course consists of an introduction to the Python programming language followed by the Python data science library ecosystem, and finally example applications.

The Python language will be covered in depth, including:

  • Basic flow control, dynamic typing.

  • Object oriented language features.

  • Functional programming.

Handling data with widely used open source libraries in Python will be covered:

  • Working with matrices and arrays using Numpy.

  • Using data frames to organise and manipulate data with Pandas.

  • Analysing data using scikit-learn.

Example applications to data science:

  • Gaussian process regression.

  • Mixture models.

Brief description of teaching and learning methods:

The module consists of 2 lectures per week and an assessed assignment. The assignment will put material learnt in the lectures into practice.

Contact hours:
  Autumn Spring Summer
Lectures 14
Practicals classes and workshops 6
Guided independent study: 80
Total hours by term 100
Total hours for module 100

Summative Assessment Methods:
Method Percentage
Written exam 70
Set exercise 30

Summative assessment- Examinations:

One 2 hour exam.

Summative assessment- Coursework and in-class tests:

One programming coursework assignment, due week 10. Contributes 30% of total module mark.

Formative assessment methods:

Feedback during practical classes.

Penalties for late submission:
The Module Convener will apply the following penalties for work submitted late:

  • where the piece of work is submitted after the original deadline (or any formally agreed extension to the deadline): 10% of the total marks available for that piece of work will be deducted from the mark for each working day[1] (or part thereof) following the deadline up to a total of five working days;
  • where the piece of work is submitted more than five working days after the original deadline (or any formally agreed extension to the deadline): a mark of zero will be recorded.

  • The University policy statement on penalties for late submission can be found at: http://www.reading.ac.uk/web/FILES/qualitysupport/penaltiesforlatesubmission.pdf
    You are strongly advised to ensure that coursework is submitted by the relevant deadline. You should note that it is advisable to submit work in an unfinished state rather than to fail to submit any work.

    Assessment requirements for a pass:

    A marks of 40% overall.

    Reassessment arrangements:

    One examination paper of 2 hours duration in August/September - the resit module mark will be the higher of the exam mark (100% exam) and the exam mark plus previous coursework marks (70% exam, 30% coursework).

    Additional Costs (specified where applicable):

    Last updated: 26 September 2019


    Things to do now