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|
|Running in 2017/18||
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.
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.
• Classes, objects, sequences, decisions, loops
• Collections and common data structures
• File & database
• Error handling, exceptions
• Searching, sorting, recursion
• Object oriented design patterns
• Data loading & storage
• Programmatic data transformations
• Programmatic data visualization
Programmatic data analysis
• Aggregation & grouping
• 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.
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.
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
Scientific and Analytic Python Deployment with Integrated Analysis Environment
https://www.enthought.com/products/canopy/ [Last accessed: 10/12/2015]