Building effective and efficient tools for next generation integration of data analysis into strategic decision-making requires knowledge of existing software packages as well as the ability to build or extend software when needed. This course will address strategies for representing complex data through coverage of responsive web technologies, programming methods, libraries, and current techniques for transforming local and distributed data sets into meaningful visualizations using data acquisition and machine learning techniques.
Successful completion of the requirements for this course will provide students with a variety of programming skills for visualizing complex data. Related to FE 540, Probability Theory for Financial Engineering, as well as equivalent probability and statistics courses, this course has students build easy to understand visual models of large, dynamic data sets using current web technologies and programming languages.
List of Course Outcomes:
- Develop knowledge of responsive technologies and their application in visualization.
- Create or extend visualization applications with necessary programming skills.
- Develop a critical vocabulary to engage and discuss information visualization
- Develop an understanding of data visualization theory.
- Understand of ethical considerations for data visualization
McKinney, Wes. Python for Data Analysis. Cambridge, MA: O’Reilly Media, 2012. Print.
Fhala, Ben. HTML 5 Graphing and Data Visualization Cookbook. Birmingham, UK: Packt Publishing, 2012. Print.
Tufte, Edward. Beautiful Evidence. Cheshire, CT: Graphics Press, 2006. Print.
Data Visualization Theory; Techniques for Collecting and Cleaning Data; System setup
Ch. 2, 4 Beautiful Evidence: Sparklines; Words, Numbers, Images
Google Refine Tutorial
||Analysis of datasets; Provide a detailed analysis of a given data set, developing insights of non-intuitive information
Introduction to HTML 5
||Ch. 1-3 HTML 5 Graphing and Data Visualization Cookbook: Drawing Shapes in Canvas; Advanced Drawing in Canvas; Creating Cartesian-based Graphs
Machine learning data mining techniques tutorial
||Using the HTML 5 Canvas environment and a provided financial dataset, build a visualization for presentation
||The HTML 5 Canvas and Responsive Web Design
||Ch. 4-6 HTML 5 Graphing and Data Visualization Cookbook: Let’s Curve Things Up; Getting out of the Box; Bringing Static Things to Life
||Modify your visualization using HTML 5 interactivity. Prepare visualization for presentation on multiple platforms.
Ch.1-3, Getting Started with D3: Introduction; The Enter Selection; Scales, Axes, and Lines
||Build an interactive visualization using d3.js and/or related libraries, using a given financial data set.
||Integration of web technologies: HTML 5; d3.js, processing.js & others
||Ch. 7 HTML 5 Graphing and Data Visualization Cookbook: Depending on the Open Source Sphere
Ch. 5 Beautiful Evidence: The Fundamental Principles of Analytical Design
||Given a financial data set, build an effective visualization using one of the tools discussed; Prepare updated visualization for presentation and be prepared to defend choice of solution.
||Introduction to the Python programming language for visualization applications
||Ch. 1-3 Python for Data Analysis: Preliminaries; Introductory Examples; IPython: An Interactive Computing and Development Environment
||Study for Midterm Exam
||Create a rudimentary Python visualization using financial data. Prepare for presentation.
||Introduction to Python visualization libraries: pyCha, igraph, etc.
||Ch. 8, 11 Python for Data Analysis: Plotting and Visualization; Financial and Economic Data Applications
||Develop an interactive Python visualization using one or more of the libraries discussed.
||Introduction to Python visualization libraries II: matplotlib, NetworkX, Chaco, etc.
Ch. 1-2, Matplotlib for Python Developers: Introduction; Getting Started with Matplotlib
Using matplotlib and a given data set, build a more complex version of earlier python visualizations.
||Advanced visualization concepts using Python libraries
Ch. 4, 5 Matplotlib for Python Developers: Advanced Matplotlib; Embedding Matplotlib in GTK+
||Final Project Proposal
||Project Proposal Design Review
Ch. 8, 9 Matplotlib for Python developers: Matplotlib for the Web; Matplotlib in the real world.
||Final project logical refinement; Develop a complex reasoning for technical and design choices.
The Future of Visualization I: Distributed Systems
||Vo, Bronson: Parallel Visualizations on Large Clusters Using Map Reduce
Final Project Prototype
||The Future of Visualization II: Distributed Systems
Final Project Prototype Demonstration
||MapReduce visualization reading
Based on feedback, prepare final project for final design review
||Final Project Design Review
Study for Final Exam