Special Topics in Data Science – Fall 2022

Cutting-edge data visualization with web technologies

This course introduces advanced web technologies for visualizing and communicating insights with data. Students will learn to create custom interactive visualizations. We’ll explore a series of case studies ranging from data journalism to data science. With a combination of in-class exercises and outside assignments, students will gain experience with the basics of user-interface design (interactive elements such as sliders, brushes, buttons, etc.) and interactive exploratory data analysis with cartography, animation, 3-D graphics, and dashboards.

The course uses Observable notebooks – a transformative new technology for event-driven, reactive programming. These notebooks provide a flexible medium for communicating ideas and developing applications with powerful open source libraries. Students will program in JavaScript as they learn to apply the various technologies of HTML5, including CSS, SVG, Canvas and WebGL. Students will gain experience with the best practices and techniques of collaborative coding (e.g., forking, importing, recommending, version control). Project-based learning will allow students to gain experience working in a team. And a term project will provide students with an opportunity to explore their passions and to start/advance their own portfolio website.

Some representative case studies:

Learning outcomes

Students will learn innovative data visualization skills that can be applied in a wide range of application areas. These skills bridge the gap between data science and web development. By the end of the course, students will be able to…

Approach

Prerequisites

There are no formal requirements. The course uses JavaScript, which is the rapidly evolving language that’s built into all modern browsers. While no previous experience with JavaScript is necessary, students should be proficient with object-oriented programming in at least one modern language such as Python, C++ or Java. Previous familiarity with the underlying web technologies will be helpful but is not required. Projects and assignments will introduce and use the technologies of HTML5 (e.g., JavaScript, CSS, SVG, WebGL). Students with no background in these web standards will be expected to learn them along the way.