FA555 2D Data Visualization Programming for Financial Applications
Course Catalog Description
Introduction
Campus | Fall | Spring | Summer |
---|---|---|---|
On Campus | |||
Web Campus |
Instructors
Professor | Office | |
---|---|---|
Xiaodi Zhu |
xzhu@stevens.edu | Altofer 301 |
More Information
Course Outcome
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
Course Resources
Textbook
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.
Additional References
Grading
Grading Policies
- Your final grade will be determined by the number of points you collect.
- 20% Homework
- 20% Class Work
- 10% Mid Term
- 20% Final
- 30% Projects
Lecture Outline
Topic | Reading | HW | |
---|---|---|---|
Week 1 | 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 |
Week 2 | 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 |
Week 3 | 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. |
Week 4 | D3.js and variants: using JavaScript libraries for web-based visualizations | 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. |
Week 5 | 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. |
Week 6 | 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 |
Week 7 | Midterm Exam | Create a rudimentary Python visualization using financial data. Prepare for presentation. | |
Week 8 | 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. |
Week 9 | 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. |
Week 10 | Advanced visualization concepts using Python libraries | Ch. 4, 5 Matplotlib for Python Developers: Advanced Matplotlib; Embedding Matplotlib in GTK+ | Final Project Proposal |
Week 11 | 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. |
Week 12 | The Future of Visualization I: Distributed Systems | Vo, Bronson: Parallel Visualizations on Large Clusters Using Map Reduce | Final Project Prototype |
Week 13 | The Future of Visualization II: Distributed Systems Final Project Prototype Demonstration | MapReduce visualization reading | Based on feedback, prepare final project for final design review |
Week 14 | Final Project Design Review | Study for Final Exam |