Module Code | CSU44056 |
Module Name | Data Visualization |
ECTS Weighting [1] | 5 ECTS |
Semester Taught | Semester 1 |
Module Coordinator/s | Assistant Professor John Dingliana |
Module Learning Outcomes
On successful completion of this module, students will be able to:
- Use graphics and visualization tools to create visual representations of data;
- Discuss the concepts behind the design and construction of data visualisations;
- Discuss how human perception and cognition impact on the design of data visualization;
- Describe recurrent types of visualisation techniques, in particular how to deal with different forms of complexity in data visualizations;
- Make informed decisions about the best solutions for specific visualisation tasks;
- Implement appropriate visualisation techniques to analyse data for a given problem.
Module Content
This module aims to equip the student with the knowledge and tools to visualise data in ways that give insight and understanding. The module looks at all elements of visualization, beginning with a study of how we perceive and understand visual information, and how this inform principles of good visualisation design, through to the software and hardware techniques that allow effective visualisations to be implemented. The student who completes the module should be able to decide on visualisation strategies applicable for specific data and tasks at hand, and then implement this using state-of-the-art tools.
Specific topics addressed in this module include:
- Graphics fundamentals for visualization;
- How data is visually encoded for human perception and understanding;
- Recurring visualization tasks;
- Types of visualizations;
- Mapping visualization techniques to specific categories of datasets;
- Interactive visualization;
- Two-dimensional and three-dimensional graph types and data animations;
- Fundamentals of good data visualisation;
- Visualisation tools and libraries.
Teaching and Learning Methods
2 hours per week delivery, generally in the form of lectures followed by Q&A. In the first 6 weeks students will complete a practical assignment to familiarize themselves with fundamental graphics techniques and visualization tools discussed in class.
A mid-term written assignment will explore the analysis and design of visualisations.
Finally, for the end-of-term assignments, students will design and implement a visualisation of a complex dataset using their choice of visualisation tools. Assessment is purely through coursework (there is no exam). Special sessions during the term will be reserved for interactive feedback/discussion on the end-of-term assignment.
Assessment Details
Assessment Component | Brief Description | Learning Outcomes Addressed | % of Total | Week Set | Week Due |
Visualization Fundamentals | Continuous Assessment | LO1, LO2 | 40% | 1 | 6 |
Visualization Analysis | Written Assignment | LO3, LO4 | 20% | 5 | 8 |
Visualization Design and Implementation | End of Term Assignment. Software Development and Report | LO4, LO5 | 40% | 6 | 12 |
Reassessment Details
100% Coursework. Supplemental assessment will be in the form of an assignment comprising written and practical elements.
Contact Hours and Indicative Student Workload
Contact Hours (scheduled hours per student over full module), broken down by: | 22 hours |
Lecture | 16 hours |
Tutorial or seminar | 6 hours |
Independent study (outside scheduled contact hours), broken down by: | 88 hours |
Completion of assessments | 88 hours |
Total Hours | 110 hours |
Recommended Reading List
- Interactive Data Visualization – Foundations, Techniques and Practices. M. Ward, G. Grinsteing and D. Keim. A.K. Peters. 2015.
- Visualization – Analysis and Design. Tamara Munzner. AK Peters / CRC Press. 2014.
- Information Visualization – Design for Interaction. Robert Spence. Pearson / Prentice Hall. 2007.
- Designing Data Visualizations – Noah Illinsky and Julie Steele. O’Reilly. 2011.
Module Pre-requisites
Prerequisite modules: N/A
Other/alternative non-module prerequisites: the module assumes some previous formal experience in programming in C, C++, Java, Javascript or equivalent.