Team:  1-2 students

Supervisor:  Dr. Joshua Grochow

Timeline:  Students will work 5-10 hrs/week during the Spring 2022 academic semester.  This is either a paid position (\$15/hr) or can provide CS independent study academic credit (or possibly MATH; inquire if interested).

Description: Publication of technical papers is still relatively stuck in the stone ages, in which papers are written in LaTeX and then forever enshrined in a stone tablet called a PDF. Recently these have added hyperlinks, but even that practice is not yet universal. We aim to go far beyond that, to make papers easier to learn from and easier to read. In fact, "reading" a paper shouldn't just be about "reading" (it never was), and the format of the paper itself should help with that process. We imagine features ranging from simple but useful UI changes to deeper tools that actually interact with the mathematical arguments and constructions. The target prototype is to take some or all of this paper and add features like:

• Expandable proofs. Not sure why this sentence in this proof is true? Click to expand for more details.
• Narrow view to show only topic sentences, or only main results for quicker navigation/skimming/overview
• For any word or any piece of notation (including local notation used only within a given proof), mouseover to see the definition, click to take you to the definition.
• Many proofs involve parameters and arguments that are chosen so that certain things work out in the end. What if those were interactive/slideable to see how far they can be pushed before something breaks? Something like Bret Victor's suggestion here (search for "Imagine if Blinder’s proposal in the New York Times were written like this"). Because the arguments involve variables rather than numbers, this could even involve some (lightweight) symbolic reasoning about simple inequalities between parameters.
• In this particular paper, many proofs involve constructions of 3-tensors in 3D (see Figs. 3-5 on pp. 25, 29, 36). Those should be interactive 3D images that can be rotated, zoomed, etc. As well as being able to view their 2D slices from each of the three directions.
• Plug in actual numbers (maybe from the integers mod p) to see examples of the constructions. Allow interactive change of basis
• Unroll an induction proof one or more steps, so the reader can more easily see the pattern
• For algorithms in a paper with pseudo-code, the ability to easily jump back and forth between lines of pseudo-code and where they are explained in the text. Maybe even interactively run pseudo-code on examples
• Ideally/eventually, each of these features would be built into a library that would make it easy for others to build their papers this way

Qualifications:  Some experience with HTML5/javascript visualizations/interactions (3D experience a plus but not required, there's plenty to do even without 3D visualization! Or picking up 3D can be part of the learning experience), a desire to improve the usability of technical publications. For the more mathematical topics, some linear algebra may be required, and a willingness to learn about tensor/multi-linear algebra.

Application:

Due January 5th for Spring 2022.  We are seeking applicants with both technical skills and mathematical/statistical skills.  An application consists of:

• a personal statement about how your skills and interests fit the project, including any ideas you may have about what you'd like to explore or help with
• a brief easily readable CV showing:
• math/CS classes taken (with grades)
• programming and computer skills/experience (include links, if applicable)