CS3PP19-Programming in Python for Data Science

Module Provider: Computer Science
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:
Current from: 2020/1

Module Convenor: Dr Lily Sun

Email: lily.sun@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 w ill 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 lectures and practical classes throughout the term 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 examination paper in May/June.

Summative assessment- Coursework and in-class tests:

One programming coursework assignment contributes 30% of the total module mark.

Formative assessment methods:

Feedback during practical classes.

Penalties for late submission:

The Module Convenor 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 2-hour examination paper in August/September.  Note that the resit module mark will be the higher of (a) the mark from this resit exam and (b) an average of this resit exam mark and previous coursework marks, weighted as per the first attempt (70% exam, 30% coursework).

Additional Costs (specified where applicable):

Last updated: 16 April 2020


Things to do now