Wode Ni
Education
Carnegie Mellon University 2018.9 - 2024.9
Pittsburgh, PA
- Ph.D. in Software Engineering
- Dissertation: Authoring Conceptual Diagrams by Codifying Visual Representations
- MS in 2021
- Co-advised by Ken Koedinger and Josh Sunshine
Columbia University 2016.9 - 2018.5
New York, NY
- B.S. in Computer Science, Magna Cum Laude
- Vision, Graphics track
Dickinson College 2013.9 - 2016.5
Carlisle, PA
- B.S. in Computer Science, Summa Cum Laude
- Computer Science Departmental Honors
Publications
Codifying Visual Representations
Wode Ni, Sam Estep, Hwei-Shin Harriman, Jiří Minarčík, and Joshua Sunshine.
To appear in Proceedings of the 14th International Conference on the Theory and Application of Diagrams (DIAGRAMS’24).
[PDF]
Rose: Composable Autodiff for the Interactive Web
Sam Estep, Wode Ni, Raven Rothkopf, and Joshua Sunshine.
To appear in Proceedings of the 38th European Conference on Object-Oriented Programming (ECOOP’24).
[PDF]
Edgeworth: Efficient and Scalable Authoring of Visual Thinking Activities
Wode Ni, Sam Estep, Hwei-Shin Harriman, Ken Koedinger, and Joshua Sunshine.
To appear in Proceedings of the 11th ACM Conference on Learning @ Scale (L@S’24).
[PDF]
Minkowski Penalties: Robust Differentiable Constraint Enforcement for Vector Graphics
Jiří Minarčík, Sam Estep, Wode Ni, and Keenan Crane.
To appear in ACM SIGGRAPH 2024 Conference Proceedings (SIGGRAPH’24).
[PDF]
Syntactic Code Search with Sequence-to-Tree Matching
Gabriel Matute, Wode Ni, Titus Barik, Alvin Cheung, and Sarah E. Chasins.
To appear in Proceedings of the ACM on Programming Languages (PLDI’24).
[PDF]
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
Wode Ni*, Dor Ma’ayan*, 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]
Generating Domain-Specific Programs for Diagram Authoring with Large Language Models
Rijul Jain, Wode Ni, and Joshua Sunshine.
SPLASH 2023: Companion Proceedings of the 2023 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH’23 EA).
[PDF]
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]
Patent
Titus Barik, Gustavo Soares, Piyush Arora, Peter Groenewegen, Sumit Gulwani, Ameya Ketkar, Vu Le, Wode Ni, David Pugh, Arjun Radhakrishna, Ivan Radicek, Ashish Tiwari, Mark Wilson-Thomas. Edit automation using an anchor target list. US Patent 2024/11941372 B2 2024.
Gustavo Soares, Piyush Arora, Titus Barik, Peter Groenewegen, Sumit Gulwani, Ameya Ketkar, Vu Le, Wode Ni, David Pugh, Arjun Radhakrishna, Ivan Radicek, Ashish Tiwari, Mark Wilson-Thomas. Edit automation using a temporal edit pattern. US Patent 2024/11875136 B2 2024.
Experience
Apple 2022.5 - 2022.9
Research Intern - Machine Intelligence
At Apple AI/ML, I worked on prototypes and features to improve the developer experience. Shipped improved Swift code completion in Xcode and designed an syntactic code search algorithm published at PLDI’24.
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, published at UIST’21.
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.
Teaching
Teaching Assistant, Foundations of Software Engineering (17-313) CMU, 2022
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
Mentoring
Kyle Lee (CMU) CMU, 2024
Griffin Teller (CMU) CMU, 2024
Rijul Jain (Williams College) CMU, 2023 - 2024
Yiliang “Leo” Liang (University of Michigan) CMU, 2022 - 2023
Hwei-Shin Harriman (Olin College of Engineering) CMU, 2021 - 2022
Helena Yang (CMU) CMU, 2021
Max Krieger (CMU) CMU, 2018 - 2021
Courtney Miller (New College of Florida) CMU, 2019
Anael Kuperwajs Cohen (Macalester College) CMU, 2019
Honors & Awards
CMU Open Source Office Fellowship, supported by the Alfred P. Sloan Foundation CMU, 2023-2024
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
Service
S3D Department head search committee CMU, 2024
Sub-reviewer OOPSLA'21, VL/HCC'21
Reviewer CHI'21, CHI'22, SIGGRAPH'22, UIST'23, CHI'24
Research Experiences for Undergraduates in Software Engineering Admission Committee CMU, 2019 - 2023