HS17: Data Visualization (BINF4234 and BINF4235)
|Lecturer:||Prof. Dr. Renato Pajarola|
|Time:||Monday 16-18 (BINF4235 only), Thursday 14-15:45 (BINF4235 and BINF4234)|
|Exercises:||Exercises are integrated into the lecture hours or handled via OLAT.|
|OLAT:||OLAT course links for BINF4235 and BINF4234|
|Course Catalogue:||Course links for BINF4235 and BINF4234|
Interactive visual data analysis is becoming increasingly critical to the modern day information technology world. In this course we will cover the fundamental concepts of interactive data visualization, including brief reviews of important preliminary techniques from related areas such as digital signal processing, sampling and interpolation, color models, image processing, 2D/3D vector graphics principles as well as data analysis. The aim is to learn the fundamental principles and techniques of interactive data visualization, as well as understand the basic 2D/3D image and graphics data representation and display methods. Furthermore, the students will be exposed to data processing and analysis techniques such as clustering, principal component analysis or dimensionality reduction, which are often required in the data pre-processing stage of the data visualization pipeline.
While the Data Visualization Concepts module (BINF4234) primarily focuses on the visual data representation and visualization concepts, the extended Data Visualization module (BINF4235) includes more in-depth signal and data processing techniques as well as several programming exercises.
The lecture is targeted to students with an assessment level BSc in computer science or similar basic knowledge of computer science, programming, data structures and algorithms. It is recommended for the BSc students in the 3rd or higher semester.
The programming exercises (for BINF4235) will be done in Python. They will include the development of programs (or parts of them) in conjunction with using various Python extension packages for visual data processing and display.
Tentative list of topics to be covered (book [x] chapter)
|Data Visualization Concepts||Data Visualization|
|Introduction and history, digitization  Ch.1||Sampling and quantization  Ch.6.1|
|Color and perception  Ch.3 &  Ch.4||Interpolation and Data Fitting  Ch.8|
|Quantitative data visualization  Ch.12||Image processing  Ch.3|
|Data and visualization foundations  Ch.2, 4||Segmentation and clustering|
|Spatial data visualization  Ch.5, 6 &  Ch.14, 15||Dimensionality reduction|
|Multivariate data visualization  Ch. 7||2D/3D vector graphics  Ch.13|
|Trees, graphs and network visualization  Ch.8||Rendering  Ch.16|
|Vectorfield visualization  Ch.15|
|(Interaction  Ch.10, 11)||Graphical excellence in visualizations|
 Interactive Data Visualization: Foundations, Techniques and Aplications by Ward, Grinstein and Keim, AK Peters, 2010.
 Mathematical Principles for Scientific Computing and Visualization by Farin and Hansford, AK Peters, 2008
Selected book chapters from:
 Information Visualization: Perception for Design by Colin Ware, Morgan Kaufmann, 2013.
 Digital Image Processing by Gonzales and Woods, Prentice Hall., 2008
 Fundamentals of Multimedia by Li and Drew, Pearson Prentice Hall, 2004.
As a standing homework assignment you are expected to review the corresponding book chapters matching the lectures.
As a standing homework assignment you are expected to read the corresponding book chapters before the lectures and to review the material thoroughly after the lectures covering them.
To complete the lecture, students must also complete any exercises given in class or distributed on OLAT. The programming projects in BINF4235 must be completed and submitted in the appropriate compatible source code as indicated in the exercise requirements (that compiles and/or runs under Linux/Mac OS X) via OLAT to the assistant leading the exercises.
The lecture will be completed with a written exam at the end of the semester. The exam is scheduled according to the standard UZH/OEC/IFI regulations. See also the course catalogue link at the top of the page.
- Python: https://www.python.org/
- Anaconda (open data science platform with Python IDE): https://www.continuum.io
- Bokeh (Python interactive visualization library): http://bokeh.pydata.org/en/latest/
- VisPy (Python interactive visualization library): http://vispy.org/index.html
- PIL (Python Imaging Library): http://www.pythonware.com/products/pil/
- Seaborn (Python visualization library): http://stanford.edu/~mwaskom/software/seaborn/
- Matplotlib (Python 2D plotting library): http://matplotlib.org/index.html
- Pygal (Python charting library): http://www.pygal.org/en/stable/
- Pandas (Python data analysis library): http://pandas.pydata.org/