COS 333: Project Ideas

Tue Feb 7 14:59:17 EST 2017

Newer items are at the front.


There are many individuals and groups on campus who have really interesting problems that could be profitably attacked by folks in COS 333. Here are some of them. They have come from a variety of friends and colleagues on campus. I've edited their prose a bit, but have tried to leave their ideas intact. You're welcome to approach the people listed directly, and I would be happy to act as an intermediary if you prefer, or to help you solicit more information. The first half dozen or so are new; the others are hold-overs from previous years but still of interest.


Apps for Freshman Orientation and Families Weekends, Claire Fowler, Associate Dean of the College,

[Updated 2/10] We are seeking an intuitive and simple mobile application that would allow students to access various Orientation resources, most importantly, the calendar of events. The app would have a CAS login, which will allow students to customize their calendar. Through a mobile platform, we will be able to communicate changes to the calendar as well as provide them with reminders of their sessions. Basic features would include an interactive campus tour, a display of both the Orientation calendar and a way for visitors to add events, reminder notifications, and resources on campus. This page shows graphically what Dean Fowler and her colleagues have in mind.

Improving the political process, Sam Wang (Neuroscience, MOL),

These ideas are in theory symmetric, in the sense that they would be equally useful to people all over the ideological spectrum.

1. Target identification for activism. This app would take a news article as input (here's a test example). Then identify reporters and legislators named in it - in this case Emmarie Huetteman, Yamiche Alcindor, Senator Susan Collins, Senator Lisa Murkowski, Betsy DeVos, and others. Then return the most effective way of reaching those people, which is email for reporters (Huetteman and Alcindor), Washington and home-state phone numbers and physical addresses for Senators, and some other unknown route for others. Note that optimizing the contact path is nontrivial - it requires locating email and Twitter addresses for reporters, and recognizing what category each person falls into. Finally, display the information so that the user can do something with it immediately.

2. Find-A-Town-Hall. A plug-in for the competitive district finder at the Princeton Election Consortium. That application finds competitive Congressional districts near the user. An event finder would locate activist events related to the district, and return it to the user. Note that there are people who are developing Town Hall databases, so there is some information available online. For robustness it would be best to rely on multiple online databases. Also note that the PEC project has been developed into, so that is another possible partner.


Facilitating political discussions across the right-left divide, Margaret Martonosi (CS),

In considering how to move past this divisive election year, many people from across the political spectrum feel that increased political dialogs between individual voters may be one of the few ways to reunify the US and decrease the divide between "left" and "right". It can be challenging, however, to find conversational partners from "the other side". Even once a conversational partner is found, it can be hard to conduct conversations across the divide in a civil and constructive manner. In this project, you will create an app to facilitate the pairing of a user with a conversational partner potentially anywhere in the US, and a framework to encourage civil and constructive conversations.

User Interface design would be a key part of the project. One possible approach would be something like Tinder, with pools of users from opposite sides of the political spectrum (either overall, or on a particular issue). Once matched, users could chat with each other. Other UI options might be whether users should be anonymous or not, whether user profile photos are useful, etc.

Once the basic app exists, many additional features are possible. For example, the app could be intelligent in providing prompts of questions or conversation starters. The app could use NLP sentiment analysis to gauge the "stress level" of the conversation and offer guidance on defusing fraught conversations to end civilly. The app could perform text analysis to avoid the use of profanities or offensive words. The app could allow both users to rate their conversational partner afterwards (like uber) and could avoid further pairings of low-rating users. While originally envisioned for bridging the left-right political divide, the framework of the app could be used for a range of polarizing or sensitive conversation topics.

Princeton and Slavery Project, Joseph Yannielli (Council of the Humanities),

The Princeton & Slavery project details the slaveholding practices of Princeton's faculty, trustees, and students, investigates how funds derived from slave labor contributed to the early growth of the University, examines the ways in which students and faculty engaged some of the central intellectual and moral issues of their time, and looks at how the very southern orientation of the University shaped institutional culture. The project has amassed over 100GB of data, including thousands of pages of manuscripts, books, photos, and newspaper articles, as well as biographical information on thousands of students who attended Princeton between 1746 and 1865. We are open to any and all fresh ideas for interpreting or visualizing this data.

We are especially interested in developing a smartphone app with an augmented reality campus tour focused on the legacy and impact of slavery at Princeton. The app would allow users to uncover a "secret history of Princeton" by revealing the hidden connections to slavery behind prominent buildings, monuments, and other locations on campus. Specific locations would be linked to artifacts, videos, and interpretive essays from the Princeton & Slavery project. The app might also be "gamified (à la Pokemon GO), allowing users to collect points by uncovering hidden histories and to apply those points to uncover new artifacts and information.

(With Prof Marni Sandwiess, History)

Improving Accessibility, Shawm Maxam, Assistant Director for Diversity and Inclusion,

Project Idea One: Build a Chrome Extension or web service that turns off a page's CSS and creates a menu of user preferences for various levels of ability. Such as applying a color contrast compliant color palette, font size, removing animations, describing text of images and more. All of this would be controlled via a user interface in the browser and remain persistent throughout the site. This would be a benefit for all users of websites who have diverse abilities. This could be a tool that is widely shared and utilized

Project Idea Two: Build and accessible color palette creation tool for web accessibility design. Currently, there are tools out there that do some functions well, but none of them meet specifications that would be useful for Web Designers. Color contrast works on a standard algorithm so no expertise is required. The user interface can be as slick as the students can come up with. I would supply the requirements and vet them with the accessibility community in NYC. This could be a tool that is widely shared and utilized.

The tool would have a social impact value and really be in the "service of humanity" for an under represented group of people. People with disabilities represent the largest minority group in the world. The push for inclusive and accessible content has a long way to go, so tools like this can provide access where barriers currently exist.

(Contact Damian A. Sian,

McGraw Center Projects, Nic Voge, Associate Director, McGraw Center, nvoge@Princeton.EDU

One idea is quite general. Perhaps a team might see a way to enhance the impact of Principedia ( ,which is a first-of-its-kind student crowd-sourced learning resource, by linking it to or in some other way. Principedia can be quite helpful for advising and course selection.

Another idea would be to create an app that helps students plan and schedule their (regular) use of academic support such as tutoring, writing center appointments, workshops, office hours and advising sessions. Students lament that figuring out which academic support resource to use when poses its own challenges.

A third idea is to create a tool that would help students create thesis, course-specific (or other) support/accountability groups that helped them articulate goals, report on progress, get badges, and in other ways motivate them to learn and achieve their academic goals. It would be something analogous to groups created for dissertation writing, exercise, weight loss, etc.

User Interfaces for Sustainable Energy Research, Johannes M. Dieterich, Carter Lab, MAE,

We would like to add graphical user interfaces to our three in-house codes as project ideas (these would very likely be independent projects as the requirements and workflows are rather different). As you know, Professor Carter's group works in the field of sustainable energy research, hence all of the codes are used for this type of research. Let me provide a bit of context:

* TigerCI ( a code for the highly-accurate treatment of small to medium sized molecules. We have recently used it for combustion analysis. A GUI would be responsible for setting up input parameters, visualize molecules and their orbitals, potentially manipulate them, and analyze/visualize results.

* PROFESS ( a code for small to huge (everything from 4 atoms to 1 million) systems of periodic nature (i.e., solids or liquids). Used for light-weight metal alloy design and analysis of plasma-facing components in nuclear fusion reactors. This GUI would need to visualize these systems (even to come up with a good human interface for a few thousand atoms will be challenging!), allow some manipulations, generate inputs for typically performed tasks requiring multiple calls to PROFESS (i.e., replacing some scripts we have on our side), analyze/visualize results.

* Embedding methods these are different in-house codes that link together other, modified from upstream, codes. Used for analyzing novel, light-based catalysis of energy-intensive chemical reactions. Of all the projects, I consider this to be the most challenging as the typical workflows are complex. However, this also means that a GUI simplifying these workflows for us would be of great value. A GUI would need to be able to visualize molecules, molecules on surfaces, mark and separate out a region of atoms, 3D plots of potentials, input generation, output analysis for different program codes

For all of these codes, one of the challenges will be to ensure platform-agnostic GUIs since they would be used on Linux, Mac, and Windows. The students could re-use existing open-source visualization tools and extend them.

(With Prof Emily Carter, Dean of Engineering)


============================= ENTRIES FROM 2016 ========================================  

Entries from 2016


============================= OLDER ENTRIES ========================================

Princeton public transportation engine, John Logan (Library),

We need a Princeton public transportation engine, whereby you could enter your location and your destination, and then get coherent information about buses, trains, etc.? TigerTransit and other services cover the ground, so to speak, but figuring out how to get there from here reminds me of the old traveling salesman problem. And it might turn out that some of the schedules could and should be modified to make connections quicker than they are now (Friend Center to Frist to PPPL requires, or at least required last time I tried to parse the schedules, quite a wait at Frist).

OIT infrastructure and maintenance reporting systems, Jay Dominick, Vice President for Information Technology, OIT (

1. A system to report maintenance related issues on campus at time of observation. A quick example would be that if you see a lightbulb out, you would snap a photo of it with your phone, add some location information, put the info in a database and then alert a technician. This could also used to report printer malfunctions, cluster problems, etc.

2. A recommender system to help students navigate the information and service infrastructure of campus. This gets at the problem that "There are so many resources here for students, and the organization of the information is so poor, that students don't know what they could be doing." This is a particular problem for OIT in that we offer lots of tools and technologies for students but can't seem to communicate particularly well about them. However, some students do manage to figure it out and their expertise could be very useful to others. How do you capture what the experts know about campus and make it available (in a time-relevant manner) to other students?

College wise calendar, Patrick Caddeau, Dean of Forbes College (

The idea is to help students to sync up how they spend their time with their academic goals, important deadlines, and milestones in the progress from freshman to senior, and beyond. Many students struggle with how to wisely allocate their time and find management of their time to be a major source of stress. A college wise calendar would provide a map that connects how students spend time with accomplishing major goals. It would have three main features:

(1) automatically populate with all significant university deadlines (add/drop, pdf, mid-terms, dean's date, deadlines for declaring a major, JP, etc). For some of these events, there could be an estimation of how far in advance you need to prepare for the event so you can see a bar indicating when you should begin planning -- for example 72 hours before add/drop so you have time to schedule a meeting with your professor or adviser to get an update on your status in the course, a month prior for JP deadline to make sure you have a working draft, etc.). User could add, sync, or import additional events from other calendars. If a student selects a particular major the calendar could populate with a list of departmental requirements that could be dropped into the calendar in the appropriate term -- using features of ICE perhaps? Courses that have prerequisites would prompt users for those courses when they are dropped into the calendar.

(2) a feature that ranks or tags calendar events with relative importance to you and what type of goal it is connected with -- for example: thesis would be tied to the "graduate from Princeton" goal so it would be ranked high, while attending TH night arch sing could be given relatively low importance and tied to "relaxation".

(3) zoom feature allowing users to see a week, month, term, year, or all four years at Princeton in a single view. Events that are ranked high in importance (for example finish thesis with a 6 month block of time) would be visible event from the highest level while events ranked lower would only be visible when viewed at a higher resolution. This would help students to think about how they spend their time as it relates to their goals by seeing long term goals and deadlines from different perspectives.

De-duping RECAP, Marvin Bielawski, Deputy University Librarian (

Princeton, the New York public library, and Columbia run a joint off-site storage facility on the Forrestal campus named "RECAP." One of our longterm dreams is to do something called "de-duping," meaning "de-duplicating," meaning storing only 1 copy of a particular volume rather than 2 or 3 (one from Princeton, one from NYPL, and one from Columbia). There are many obstacles to this dream, some of which are legal (e.g., if there's one copy, who owns it?).

But one of the obstacles is technical. To de-dupe, we would have to identify the duplicates (preferably before they entered RECAP). This can be tricky for at least two reasons. One is that, given the purposes of the research libraries, it will matter (at least sometimes) whether the duplicates are exact or not: the 2nd edition and the 4th edition are not perfect substitutes for one another. The second is that Princeton, NYPL, and Columbia all run differently configured online catalogs, so it becomes a clunky, manual process to compare records.

This should be solvable by a Kayak-like program: if one app can search a bunch of airline websites, why not an app that combs multiple library databases?