Projects should be done in pairs and taken from the following list of possible projects. Contact possible partners and advisors and work out the details for spring advising.

Title Description Advisor
Crayowulf Application(s) In 2017-18, four Calvin seniors built Crayowulf, a Beowulf cluster built from five Nvidia Jetson TX2 single board computers. This project is to write software that will to take full advantage of the TX2's parallel hardware capabilities; either:
  • create an original software application, or
  • adapt one or more existing applications.
Existing applications that might be adapted include: the HP-Linpack benchmark, the Folding@Home distributed application, and others.
Parallel Sorting Visualizations Using different parallel sorting algorithms, implement multithreaded versions of those algorithms in C++, and create visualizations of the algorithms using the Thread Safe Graphics Library. Examples might include Odd-Even Transposition Sort, Parallel Quicksort, etc. Adams
VR Applications Use the department's VR equipment to either:
  • Design and build an original virtual reality application, or
  • Extend and enhance an existing VR application.
Existing applications that might be extended include the Jedi Trainer and the Lemon Trainer.
Robach Are you interested in learning about deep learning? Do you enjoy music and have some knowledge of music theory? Work further on "Robach" a deep-learning program that composes harmonizations for melodies in the style of JS Bach by training on 400 Bach chorales. Plantinga
Applying Machine Learning to Social Media For this project, you will build natural language processing tools using machine learning for Twitter data on a given set of Australian companies. This project is a continuation of recent research done in collaboration with the Language and Social Computing team at CSIRO, the Australian national research laboratories, and includes several potential avenues of exploration including stance classification and topic modelling. VanderLinden
Interactive Display for the Ecopreserve (tentative pending confirmation with ecopreserve) The purpose of the project is so that the educators at the Calvin College Eco System Preserve Bunker Interpretive Center can teach about watersheds. An interactive display has been constructed but requires programming an embedded system to animate lights and a display in response to visitors input selections. The point of the interactive display is to illustrate that healthy choices keep water clean, while unhealthy choices introduce pollutants into the water, and those pollutants stay in the water and have a cumulative effect. Derek Schuurman

Projects are generally chosen from the list given above. However, if you have another idea, feel free to discuss it with an appropriate faculty member.

Some projects from the past involved mentors outside of the Department of Computer Science. This is acceptable but you’ll need one official mentor from the department as well. This mentor will serve as your administrative liaison to the department.