FA555 2D Data Visualization Programming for Financial Applications

Course Catalog Description


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.

Campus Fall Spring Summer
On Campus
Web Campus


Professor Email 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


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 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