Danya Lette

How to Organize a CS Research-a-Thon


When I first decided to organize a computer science research-a-thon, I had no idea where to begin. I expected to find plenty of useful info online from other unis and clubs. However, I found almost nothing; this event, apparently, has not been attempted before.

If you’re here because you’re considering running a similar event: do it! It’s worth the effort. Here’s some info you might find useful:

I. What kinds of projects did students work on?

We provided the participants with a list of projects that were proposed by faculty members, grad students, and undergrads. Be warned: collecting these project ideas required a good amount of legwork in the months preceding the event.

Our aim was to collect a highly diverse set of projects, in terms of: research area, required levels of background knowledge, open-endedness, solved/not solved, etc. Some disciplines are better suited to beginners than others, such as HCI, since novices will likely be more interested in doing projects that involve writing software or designing user interfaces.

Research Areas: Applied & Discrete Mathematics, Artificial Intelligence, Cognitive Science, Computational Biology, Computational Linguistics, Computer Graphics, Computer Science Education, Computer Systems & Networks, Data Science, Database Systems, Economics, Ethics and Society, Health & Assistive Technology, Human Computer Interaction, Knowledge Representation and Reasoning, Numerical Analysis, Programming Languages & Methodologies, Quantum Computing, Robotics, Social Networks, Software Engineering, Sustainability Informatics, Theoretical Computer Science.

Here are a few sample projects:

MIPS visualizer/simulator
(Computer Systems and Networks, Computer Science Education, Software Engineering)

Implement a MIPS/Risc V architecture visualizer/simulator. Our goal is to help students visualize how assembly code is being executed, i.e. what values are stored in each register and which connections are used. For instance, you should highlight the wires that are in use and show the direction inputs and outputs are moving, etc. At present, students have to think about it in their mind. You might consider using Python combined with some web frameworks/tools to create an online simulator that’s interactive.

A Sequence of n Sets (Applied and Discrete Math, Theoretical Computer Science)

Consider a sequence of n sets, each containing a nonempty subset of {1, …, n}. Determine the complexity of the following: • Find a proper subset S of {1, …, n} such that the elements of S only occur in |S| sets in the sequence, or determine that no such subset exists. • Find a proper subset S of {1, …, n} such that there are |S| sets in the sequence that only contain elements of S or determine that no such subset exists.

Depth Perception
(HCI, Health and Assistive Technology)

Design an assistive device to aid individuals driving cars who lack depth perception. Specify rigorously why think your device would be effective, and how you would evaluate the effectiveness of your device. You can specify implementation details if you’d like but that is not required.

These three project descriptions were some of our shorter ones; some others had quite verbose descriptions, multi-part questions, included background readings or definitions, etc.

Faculty and grad students are the ideal source for these projects. However, you can find more ideas online. For instance,

Please feel free to reach out to me for more projects ideas. I have plenty floating around in my head :)

II. How did you structure the event?

The event was held over two days on a weekend. Each day was 9AM-5PM; we provided breakfast, lunch, and snacks. Students worked in self-selected groups that they formed on the first morning.

For more detailed day-of planning, here’s the event schedule for 2020. We provided the students with Google Slides templates for their research proposals and final presentations, to give them an idea of what the content and structure should be. We also provided them with unstructured support throughout the day by walking around and chatting.

III. Who is this event for?

The event was intended for all undergrads, with some bonus grad students in attendance operating as mentors. We found that first- and second-year students were, by far, the most interested. These students were curious about research but had not had the opportunity to pursue it formally, unlike some of their older peers. Many were unaware of the various research areas or diversity of research practices that exist in CS. To amend this, and to make the event more inclusive of novices, we started the first day with Research Village, a sort of club fair for research areas.

IV. Did they really “do research”?

Research can mean a lot of different things. In addition, the research process has many parts, including background reading, planning, and discussing with peers. So, in that sense, every group accomplished at least some part of a research project. To my delight, during the two day period, many participants went much further; one group even appeared to have solved an open question in game theory that was posed by a faculty member.

Well, that’s all I have to share for now. Please feel free to get in touch with me if you have any questions: danyalette@gmail.com