module specification

CC7182 - Programming for Data Analytics (2017/18)

Module specification Module approved to run in 2017/18
Module title Programming for Data Analytics
Module level Masters (07)
Credit rating for module 20
School School of Computing and Digital Media
Total study hours 200
152 hours Guided independent study
48 hours Scheduled learning & teaching activities
Assessment components
Type Weighting Qualifying mark Description
Coursework 100%   Development of data analytical application using given programming language (2000 words report + application
Running in 2017/18
Period Campus Day Time Module Leader
Spring semester North Thursday Afternoon

Module summary

This module develops students’ foundation of programming principles through the introduction of application programming for data analytics. The module covers common programming data structures, flow controls, data input and output, and error handling. In particular, the module places emphasis on data manipulation and presentation for data analysis.  A substantial practical element is integrated into the module to enable students to use a programming language (e.g. Python) to prepare data for analysis and develop data analytical applications.

Module aims

The aims of this module are to:
• enable students to gain understanding of programming principles,
• develop students’ knowledge and skills in programming design and coding,
• develop students expertise in data manipulation and presentation for data analysis,
• develop students with practical skills in data analytical applications development, and
• enhance students skills for integrative reasoning, problem-solving and critical thinking.


  1. Understanding programming
    • Classes, objects, sequences, decisions, loops
    • Collections and common data structures
    • File & database
    • Error handling, exceptions
    • Searching, sorting, recursion
    • Object oriented design patterns
  2. Data programming
    • Data loading & storage
    • Programmatic data transformations
    • Programmatic data visualization
  3. Programmatic data analysis
    • Aggregation & grouping
    • Correlation
    • Linear regression
    • Matrix operations

Learning and teaching

Topics will be introduced through the medium of formal lectures, supported by tutorial and workshop sessions, and blended learning as follows:

- Lecture (2 hour / week):
Introduction of the major topics identified in the syllabus, plus practical exercises, directed reading and other further studies

- Workshop (2 hour / week):
Practical skills will be further developed through lab-based workshops. Specific practical exercises are set to support students' development of skills with powerful interactive data analysis package.
- Blended learning:
Using the University’s VLE and online tools to provide deliver content, assessment and feedback, to encourage active learning, and to enhance student engagement and learning experience.

Students will be expected and encouraged to produce reflective commentaries on the learning activities and tasks that they carry out to complete their work.

Learning outcomes

On successful completion of this module the student should be able to:
[LO1] demonstrate a clear understanding of programming principles.
[LO2] prove sufficient level of knowledge and proficiency in programming design and coding.
[LO3] develop programming expertise in data manipulation and presentation for data analysis.
[LO4] evidence substantial programming language skills in development of  a data analytical application.
[LO5] demonstrate skills for integrative reasoning, problem-solving and critical thinking.

Assessment strategy

The module will be assessed by a practical piece of coursework (70%) and a 1.5-hour unseen examination (30%).

The coursework is designed mainly to assess the practical aspects of the module.
It will provide students with the opportunity to undertake research on current issues and practical techniques in programming for data analytics and its effective application for real world data analytical problem [LO1, LO2, LO3, LO4 and LO5]. It will also enable students to apply their knowledge to a practical problem, demonstrating their skills for problem-solving and critical thinking/evaluation [LO4, LO5].

The unseen examination will provide an opportunity for students to demonstrate their understanding of programming principles, data manipulation and analysis techniques and their ability to apply these techniques appropriately to the solution of given problems/scenarios [LO1, LO2, LO3]. The examination will test the students' retention, understanding and insight of material drawn from the module.


1. Wes McKinney (2012) Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, O'Reilly Media. [Core]
2. Cody Jackson, (2014) Learning to Program Using Python, 2nd Edtion, CreateSpace Independent Publishing Platform [core]
3. Fabio Nelli (2015) Python Data Analytics: Data Analysis and Science using PANDAs, matplotlib and the Python Programming Language, Apress
on-line resources
      Scientific and Analytic Python Deployment with Integrated Analysis Environment [Last accessed: 10/12/2015]