Projects are generally done in teams and taken from the following list of possible projects. Contact possible partners and advisors and work out the details for spring advising. Note that CS/DATA 396/398 is a two-semester, Fall-Spring course; see the Schedule page for details.

Title Description Advisor
Computational Modeling Projects Professor Araújo is proposing computational modeling projects in a variety of domains, including:
  • Political Polarization in Christian Communities — Study and create an agent-based model to provide insights into how Christian communities evolve or devolve based on cognitive and social differences. This interdisciplinary project demands considerable curiosity and dedication to learning from neuroscience and social psychology. The aim is to identify patterns that can be simulated in a computational environment. We will use NetLogo as the tool and programming language to construct the models, incorporating mathematical frameworks to shape the agents' actions and decision-making mechanisms. Python will be used for data analysis and to facilitate discussions on the results obtained.
  • Modeling Calvin's Campus for various purposes — Modeling the environments and spaces of a university campus provides a framework for various simulations. This project involves creating a virtual model of Calvin's campus within a simulation environment. The goal is to develop models for different scenarios, such as emergency evacuation during panic situations, safety planning for large events, and fostering a healthier community by analyzing interactions among campus inhabitants. NetLogo will be used to host Calvin's computational environment, facilitating further explorations and developments.
  • Cognitive Modeling of Spread of Healthy and Unhealthy Behaviors — Agent-based models are widely used for various purposes, including testing sociological theories, and conducting safety and ecological studies. These models are also valuable for predicting how certain behaviors spread through social networks, such as physical activity and eating habits. This project aims to understand how to simulate the spread of behaviors within complex systems, specifically social networks. To achieve this, students will develop a cognitive model in Netlogo based on previous research. They will explore a novel perspective on the dynamics of behavior spread and offer insights into fostering a healthier society.
E. Araújo
AI Tools for Thought and Understanding We are looking for between 1 and 3 teams to work on the following projects. Students are strongly recommended to enroll in CS-300-A (Human-Centered AI) in 25FA.
  • Thoughtful AI software development (continuation) Continue work on developing and deploying the Thoughtful AI add-in for MS Word. Build and test interactive tools that help writers using LLM APIs. Specific sub-projects include: merging in research prototype code, improving UX, extending the add-in to work in other applications (Google Docs, Outlook, PowerPoint, etc.), and deploying the add-in to broader audiences.
  • Research (continuation): Design and execute studies on how writers (and other people) use AI tools for thought, aiming for academic publications.
  • AI for Education: Prof Arnold has prototyped interactions with AI to provide students personalized feedback and in-the-moment instruction with the goal of collecting evidence of learning. A student team would flesh out these prototypes and potentially study their use in education.
  • AI for Translation: Prof Arnold has also prototyped various interactive tools for helping people understand each other, especially in church contexts. For example, a careful translation workflow.
  • AI for Reflection: Flesh out one of the projects listed in my blog post on AI in reflective mode.
I also have various Calvin-centric web development projects if a team is interested (see projects list here), including Moodle add-ins and replacing the Calvin course catalog.
K. Arnold
Geofeed: A New Dawn on IP Geolocation Background: Geolocating IP addresses has been a longstanding problem in research on Internet measurement and cybersecurity. Researchers have developed various approaches, such as RTT triangulation and DNS hostnames, to infer the location of IPs. Commercial IP geolocation database products, like MaxMind and ipinfo.io, employ their own proprietary methods, often resulting in conflicting results. In 2021, the IETF published RFC 9092, recommending that network operators release location information of their IP prefixes using a standardized format called Geofeed, and publish the data via the WHOIS database.

Project goals: In this project, we will analyze multiple datasets (including Geofeed data) and conduct Internet measurements to answer research questions regarding this new approach to IP geolocation. For example, what is the coverage of Geofeed across the Internet? How frequently do operators update Geofeed information? Does the Geofeed information align with other state-of-the-art IP geolocation methods? If not, which IP geolocation method is more trustworthy?

What has been done:

  • Fainchtein, Rahel A., and Micah Sherr. “You Can Find Me Here: A Study of the Early Adoption of Geofeeds.” In Passive and Active Measurement Conference (PAM), 2024.
  • Ioana Livadariu et al. Geofeeds: "Revolutionizing IP Geolocatio or Illusionary Promises," Proc. ACM CoNEXT, 2024.

Collaborations: The Center for Applied Internet Data Analysis (CAIDA) at the University of California's San Diego Supercomputer Center

Knowledge and skills requirements:
  • Basic knowledge of IP networks
  • Good programming skills
  • Good communication skills
  • Good writing skills
An early start (at least part time) in the coming summer is much preferred.
R. Chang
CAIDA UC SanDiego
Measuring the speed test measurement platforms Background: Various commercial speed test platforms (notably Ookla's www.speedtest.net) has become an important Internet service which allows users to gauge their network performance, mainly in terms of throughput and latency. Although they are widely deployed and used, their measurement mechanisms, however, are largely opaque to the public. There are also no readily available tools to evaluate their accuracy and understand their limitations. As another consequence, measurements from different platforms may give different results, and it is difficult to tell which one(s) to believe (or disbelieve).

Project goals: By reverse engineering the non-disclosed speed test measurement methods, CAIDA has developed a tool that performs the same speed test measurement but with additional control knobs. The first project objective is to validate whether this tool performs the same measurement as the speed test platforms do. The second is to use different models for computing the throughput and latency with the purpose of finding the most scientifically sound results. The last one is to configure the control knobs to further increase the measurement accuracy.

What has been done:

  • K. MacMillan, et al., "A Comparative Analysis of Ookla Speedtest and Measurement Labs Network Diagnostic Test (NDT7)," Proc. ACM Meas. Anal. Comput. Syst., Vol. 7, No. 1, March 2023.
  • K. MacMillan, et al., "Best Practices for Collecting Speed Test Data," August 12, 2022. Available at SSRN: https://ssrn.com/abstract=4189044 or http://dx.doi.org/10.2139/ssrn.4189044

Collaborations: The Center for Applied Internet Data Analysis (CAIDA) at the University of California's San Diego Supercomputer Center

Knowledge and skills requirements:
  • Basic knowledge of HTTP, IP and TCP
  • Good programming skills, particularly for statistical data analysis
  • Good communication skills Good writing skills
An early start (at least part time) in the coming summer is much preferred.
R. Chang
CAIDA UC SanDiego
Life Giving Water International
(continuation)
Life Giving Water International (LGWI) is a missions organization that, along with a local organization based in Riobamba, Ecuador, builds water systems in rural communities throughout Ecuador. For many water system operators in rural communities, the tasks of tracking water usage, managing payments and financing of the system can be daunting. During water system construction, water meters are installed at each home, tracking water use of individual homes. LGWI would like to build-up the app to include optical character recognition to allow water system operators to simply take photos of the water meters which would then calculate monthly use as well as the associated cost of the calculated water use. As LGWI trials the app with a few select communities this summer and fall, incorporating improvements based on the comments received from these communities will also be part of the project. M. DeHaan (LGWI)
Calvin EMR
(continuation)
This project will continue work on the Calvin Electronic Medical Record project, developed for the Nursing department for use with their students in nursing simulations. This is a web development project that utilizes HTML, CSS, Angular, and Typescript. The project may take a slightly different trajectory this year because the project will become a product, sold to other universities. I don’t know exactly what the goals of the coming year will be, but one idea is to develop an extensive library of end-to-end tests of the product.

Team members should have taken or be taking CS336 or have significant experience with web development.

V. Norman
S. VanderWal (Calvin Nursing)
Bruce Dice Museum Interactive App This project will develop an app to deliver interactive activities for visitors to the museum. One idea is to deploy Bluetooth Low Energy (BLE) beacons in the cabinets around the museum and then create an app the detects when a visitor is near a beacon and have the app display information about items in that display. The app could be customized for different demographics – visiting school children, college students, families, etc. The museum already has iPads which are not being used, so the app could be installed on these devices and given to visitors to use. V. Norman
K. Ratajeski (Calvin GGE)
Plaster Creek Stewards App The Plaster Creeks Stewards (PCS) organization at Calvin, started by Prof. Dave Warners in the Biology Department, “seeks to reconcile relationships between people and the natural world by restoring health and beauty to the Plaster Creek Watershed.” The organization now employs almost no “high tech” for collecting data, presenting data to an audience via the web, managing their greenhouses, etc. This project would seek to partner with PCS to help them use interactive website or mobile apps to improve their workflows, information communication, etc. V. Norman
A. Lubberts (Plaster Creek Stewards)
Data Analysis and Topic Modeling on Church Sermon Transcripts We will explore and uncover recurring themes and theological emphases in church sermons using topic modeling techniques. Analyzing these sermons computationally can provide insights into how religious messages evolve over time, respond to historical and societal events, or differ across denominations. The core analysis uses unsupervised machine learning techniques such as Latent Dirichlet Allocation (LDA). Visualization tools such as pyLDAvis and word clouds will be used to make the results interpretable, showing how certain topics appear more frequently in certain time periods, in specific pastors' sermons, or across denominations. This also opens up venues for reflections on ethical implications of applying computational methods to churches and religious discourse. F. Pasquini Santos
B. Santini (RTS Atlanta)
Explainable Reinforcement Learning (XRL) for Board Games
(continuation)
We will use Python library SIMPLE to develop a reinforcement learning model to play a modern board game like Azul, Splendor or Qin (you can choose, given that it is simple in rules so we can implement easily, but complex enough to require strategic decision-making). If we succeed in that, we will then try to implement techniques to give results explaining its decisions in a human-understandable way (such as attention mechanisms, decision trees, or model introspection methods). This will be a nice way to investigate how the game is balanced towards certain elements or dominant strategies and offer insight on how to play the game well. We can also develop, later, some graphical user interface that would guide a player through the game and give hints about good strategies. F. Pasquini Santos
Reader's Tools In this project we will continue exploring the use of Large Language Models to make the experience of reading a books at the Christian Classics Ethereal Library (CCEL.org) more interactive and engaging. One area of focus is “Ask CCEL a question.” Instead of scouring a book to find an answer, why not just ask the book your question? We will continue work on a system for the Christian Classics Ethereal Library (CCEL) that is able to answer questions such as “What did the Early Church Fathers have to say about the Trinity?” This system is based on retrieval-augmented generation (RAG) technology using a LLM to formulate answers. Another possible area of focus is in adding LLM-powered tools to the book reading interface that enable users to see modernized language, explanations, and historical context. H. Plantinga
IoT and Embedded Projects I am open to supervising any nifty IoT projects based on the Raspberry Pi or some other comparable platform. Such a project would combine the use of sensors and/or actuators, machine-to-machine (M2M) communications, along with a database and webpage or app for control and monitoring. Possibilities include:
  • Bird Feeder Monitor — This project will create a smart bird feeder monitor using a solar-powered Raspberry Pi and camera with the following features:
    • Bird seed refill notifications
    • Taking photos of birds and uploading most recent bird photos to a website
    • Updating stats on a website with activity plots vs. time, day, and month
    • Detect and report squirrels
    • Option to “tweet” bird photos
    • Bonus feature: measure temperature and humidity and analyze bird activity vs. weather conditions
    • Advanced feature: use AI to perform bird identification and counting
  • "Goose-be-Gone" - a system to harmlessly chase geese off of a cottage lawn.
    • Use a standard mobile base platform
    • Use computer vision and AI to recognize geese
    • Use computer vision to avoid obstacles (and people)
    • Monitor battery and state of charge
Students who have taken CS326 will be at an advantage for a project of this type.
D. Schuurman
Course Schedulizer
(continuation)
This project will continue work on the 2020-2025 Course Schedulizer projects, which developed an application used by department chairs to create, modify, and report departmental course schedules at Calvin (Application & GitHub). Users are able to import schedules from past semesters, specify course assignments, check for scheduling conflicts, and export schedules in a format that can be used to populate the official course schedule. The application is written as a Web application using ReactJS and Typescript. Specific upgrades for next year’s project will be determined by the end of this year. K. VanderLinden,
R. Pruim
Mobile Game for Self Care In this project we will create a mobile game that combines gaming elements with self-care tasks to boost mental health. Our game will have a whimsical and calming atmosphere and be centered around helping the creatures who live in your village. The game will have a 2D, side-scrolling art style with an open-world hub and levels that involve platforming and puzzles.

Staying positive and healthy can be tough! Similar apps are either too game-heavy, or too task-heavy. This game aims to find a balance between these two extremes and to promote self-care tasks in an engaging way.

We are looking for people who are interested in learning Unity and C#, or a similar development environment, to develop the game, and who are passionate about either mental health or video games.
K. VanderLinden

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. The department may need to open and/or close project proposals in order to distribute students evenly across projects and faculty members.

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