Wode Ni

Education

Carnegie Mellon University 2018.9 -

Pittsburgh, PA

Columbia University 2016.9 - 2018.5

New York, NY

Dickinson College 2013.9 - 2016.5

Carlisle, PA

Publications

reCode: A Lightweight Find-and-Replace Interaction in the IDE for Transforming Code by Example

Wode Ni, Joshua Sunshine, Vu Le, Sumit Gulwani, and Titus Barik.
In Proceedings of the 34th ACM Symposium on User Interface Software and Technology (UIST’21).
[PDF] [BibTeX] [video preview] [talk]

Penrose: From Mathematical Notation to Beautiful Diagrams

Katherine Ye, Wode Ni, Max Krieger, Dor Ma’ayan, Joshua Sunshine, Jonathan Aldrich, and Keenan Crane.
ACM Transactions on Graphics (SIGGRAPH’20).
[PDF] [BibTeX] [www] [repo]

How Domain Experts Create Conceptual Diagrams and Implications for Tool Design

Dor Ma’ayan*, Wode Ni*, Katherine Ye, Chinmay Kulkarni, and Joshua Sunshine.
Best Paper Honourable Mention
In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems (CHI’20).
[PDF] [BibTeX]

Defining Visual Narratives for Mathematics Declaratively

Max Krieger, Wode Ni, and Joshua Sunshine.
Evaluation and Usability of Programming Languages and Tools (PLATEAU 2019), co-located with UIST.
[PDF] [slides]

Designing Declarative Language Tutorials: a Guided and Individualized Approach

Anael Kuperwajs Cohen, Wode Ni, and Joshua Sunshine.
Evaluation and Usability of Programming Languages and Tools (PLATEAU 2019), co-located with UIST.
[PDF] [slides]


Substance and Style: domain-specific languages for mathematical diagrams

Wode Ni*, Katherine Ye*, Joshua Sunshine, Jonathan Aldrich, and Keenan Crane.
Domain-Specific Language Design and Implementation (DSLDI 2017), co-located with SPLASH.
[PDF] [slides] [www] [repo]

Whiteboard Scanning Using Super-Resolution

Wode Ni.
Dickinson College Honors Theses. Paper 221.
[PDF]

Experience

Microsoft Research 2020.5 - 2020.8

Research Intern
Worked with the PROSE team (mentored by Titus Barik) on improving developer productivity in Visual Studio Code. I interviewed developers to elicit their needs for code transformation tools in editors. Inspired by the empirical data and relevant work in program synthesis, I designed reCode, an interaction model for rapidly performing complex code transformation using the familiar find-and-replace experience.

Carnegie Mellon University, Research Experiences for Undergraduate 2017.5 - 2017.8

Research Assistant
Penrose is a system that automatically visualizes mathematics using two domain-specific languages: Substance and Style. Co-advised by Jonathan Aldrich, Keenan Crane, Joshua Sunshine, and Katherine Ye, I designed and implemented the Style language, and extended the Substance language to support functions and logically quantified statements.

Columbia University, Computer Graphics and User Interfaces Lab 2017.1 - 2017.5

Research Assistant
Worked with prof. Steven Feiner, on Cyber Affordance Visualization in Augumented Reality project. Developed a Microsoft Hololens application that visualizes the Columbia campus in AR environment.

Mentoring

Hwei-Shin Harriman (Olin College of Engineering, independent research) CMU, 2021 - Now
Helena Yang (CMU, REUSE) CMU, 2021
Max Krieger (CMU, independent research & REUSE) CMU, 2018 - 2021
Courtney Miller (New College of Florida, REUSE) CMU, 2019
Anael Kuperwajs Cohen (Macalester College, REUSE) CMU, 2019


Honors & Awards

CHI’20 Best Paper Honourable Mention Award CMU, 2020
Phi Beta Kappa Dickinson, 2018
Excellence in Computer Science Award Columbia, 2018
Travel Award PL Mentoring Workshop (PLMW) SPLASH, 2018
Tau Beta Pi, Engineering Honor Society Columbia, 2017
Computer Science Departmental Honors Dickinson, 2016
Pi Mu Epsilon, Mathematics Honor Society Dickinson, 2016
Upsilon Pi Epsilon, Computer Science Honor Society Dickinson, 2016
Alpha Lambda Delta, First year Honor Society Dickinson, 2013
John Montgomery Scholarship Dickinson, 2013

Teaching

Teaching Assistant, Crafting Software (17-450/17-950) CMU, 2022
Teaching Assistant, Programming Languages and Translators (COMS 4115) Columbia, 2017 - 2018
Teaching Assistant, Introduction to Java II (COMP 132) Dickinson, 2016
Peer Tutor, Data Structures and Problem Solving (COMP 232) Dickinson, 2016
Computer Lab Consultant Dickinson, 2014 - 2016

Service

Sub-reviewer OOPSLA'21, VL/HCC'21
Reviewer CHI'21, CHI'22, SIGGRAPH'22
Research Experiences for Undergraduates in Software Engineering Admission Committee CMU, 2019 - 2021