title: "DS.js: Turn Any Webpage into an Example-Centric Live Programming Environment for Learning Data Science"
authors: Xiong Zhang and Philip J. Guo
venue: ACM Symposium on User Interface Software and Technology (UIST)
year: 2017
footer: "Honorable Mention Paper"
links:
- Blog post
- Webpage
tweet: DS.js transforms any existing webpage into a live programming environment for data science
abstract: >
Data science courses and tutorials have grown popular in recent years,
yet they are still taught using production-grade programming tools
(e.g., R, MATLAB, and Python IDEs) within desktop computing
environments. Although powerful, these tools present high barriers to
entry for novices, forcing them to grapple with the extrinsic
complexities of software installation and configuration, data file
management, data parsing, and Unix-like command-line interfaces. To
lower the barrier for novices to get started with learning data science,
we created DS.js, a bookmarklet that embeds a data science programming
environment directly into any existing webpage. By transforming any webpage
into an example-centric IDE, DS.js eliminates the aforementioned
complexities of desktop-based environments and turns the entire web
into a rich substrate for learning data science. DS.js automatically
parses HTML tables and CSV/TSV data sets on the target webpage, attaches
code editors to each data set, provides a data table manipulation and
visualization API designed for novices, and gives instructional
scaffolding in the form of bidirectional previews of how the user's code
and data relate.
bibtex: >
@inproceedings{ZhangUIST2017,
author = {Zhang, Xiong and Guo, Philip J.},
title = {DS.Js: Turn Any Webpage into an Example-Centric Live Programming Environment for Learning Data Science},
booktitle = {Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology},
series = {UIST '17},
year = {2017},
isbn = {978-1-4503-4981-9},
location = {Qu\&\#233;bec City, QC, Canada},
pages = {691--702},
numpages = {12},
url = {http://doi.acm.org/10.1145/3126594.3126663},
doi = {10.1145/3126594.3126663},
acmid = {3126663},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {data science, live programming, novice programmers},
}