Modeling Polarization in Mass Populations using Agent-Based Modeling & Novel Opinion Dynamics

By Justin Mittereder, Robert Carroll, Brandon Frulla

Faculty Mentor: Professor Stephen Davies

The 21st century has opened doors for large-scale simulations that were previously impossible due to computing power restrictions. Now, we are able to create large simulations of heterogeneous “agents”. These simulations allow researchers to discover what set of simple rules (behavioral rules of each agent) are sufficient to produce a particular phenomenon on the societal level. The particular phenomenon we hope to observe is political polarization. The results of this research will provide insights into how polarization arises, and how it may be prevented from escalating further. In our simulation, agents will have a predetermined number of different opinions that are assigned randomly from 0-1. At each step of the simulation, agents will choose another neighboring agent at random for an interaction. Then, they will look to see if they agree closely on a random issue. If the opinions of both agents are within a predetermined comparison threshold, then we will take the average of the neighbor and the agent’s opinion on another different issue and set that as the agent’s new opinion on that given issue. Throughout the life of the simulation, we will measure a number of different variables such as the average assortativity across all issues, the average opinion variance, the average persuasions per agent, and the number of opinion clusters for each issue. We will examine the data from many simulation runs to look for emergent behavior across all agents in the simulation. Our goal is to manipulate the parameters of the model in such a way that sheds light on how polarization develops in a society. Some of the tools used in this project are Mesa, Networkx, Python and Dash.


by Sarah Riddell

Faculty mentor: Professor Jennifer Polack

ButterSpy is a butterfly identification website serving the Alexandria, VA area that invites the user to observe a butterfly and then enter observations they make. The website then checks the database of butterflies and returns all possible butterflies matching the information provided. The purpose of this project was to develop an online identification application that did not involve a camera as to remove the concept of instant gratification and make the user practice their observational skills. It is geared towards people who want to practice their identification skills but consider a field guide a too overwhelming place to start. This project was written in HTML/CSS for front-end development and PHP for back-end development. SQL was also used to communicate with the database, but the administration tool phpMyAdmin was used to do most of the database interactions. An algorithm had to be designed to conduct the search for butterflies in the database with column values that matched the user input. Users had the option to input primary color (required) and then a secondary color and/or the shape of the antennae. By using multiple nested if-then statements and logical operators, ButterSpy effectively conducts a search and accurately gives results. Through the process of developing ButterSpy, I increased my proficiency in HTML/CSS, PHP, SQL and JavaScript (though JS was not used in the final product.) Additionally, I was able to practice my time management and self discipline skills, about which I discovered have lots of room for improvement. The project is available for viewing at

Computer Science Extravaganza

The Department of Computer Science is holding a live Zoom event for all UMW Students Who Love Computer Science, Data Science, and Cybersecurity on Friday, April 30th at noon. Students present a project (software, data science, cyber security) completed this
All projects are welcome. The project can be a classroom assignment or something you created for fun.

Student projects featured at the live event:

Ryan Phillips – Simple Encryption and Decryption in Python

Brandon Frulla, Rob Carroll, Justin Mittereder – Modeling Polarization in Mass Populations Using ABM & Novel Opinion Dynamics

David Miller, Tyler Viacara, Alexander Loveland, Jema Unger, Joanna Osam, Samuel Adler, Lauren Pittman, Jacob Barker – UMW Outreach – The University wants ways to help connect parents with UMW students who could serve as tutors or even childcare (virtual tutor, maybe in-person childcare).

John-Paul King – CPSC 430 Alumni Project

David Craig – CPSC 444 Final Project

Sarah Riddell – ButterSpy – Online Identification Guide for Butterflies of Alexandria, VA. A unique take on virtual identification: removing the concept of instant gratification. Most nature identification apps (think PictureThis or iNaturalist) include a camera for quick and convenient results. While awesome, this approach does not encourage development of a user’s observational skills, which is one of the most important skills when it comes to identification. ButterSpy removes the camera element, requiring the user to observe and input distinct identifiers on their own. The app returns possible matches, following the principle “the more you give, the more you get.”

Miles Spence – An Epidemiological Simulation of COVID-19. Use past data from the CDC and Our World in Data (OWID), as well as Differential Equations to create a model to simulate as best as possible the spread of COVID-19.

Makayla Ferrell – Baby-step giant-step algorithm and discrete logs applied to public-private encryption.

Supreet Singh, Madison Williams, Madeline Phillips, and Paula Dorca – Data Science
Analysis of board game engagement

An Epidemiological Simulation of COVID-19

By Miles Spence

Faculty Mentor: Professor Jennifer Polack

This project is a cross-section of multiple disciplines in mathematics as well as computer science. In particular, it incorporates differential equations and data analysis to create a model, in the Python coding language, to estimate the spread of COVID-19. The model used for the simulation is a self-generated SIRDSV deterministic compartmental model. The presenter explains the SIR model and how it has been altered to fit the current context with COVID-19. The presenter also explains where data is found and how it is manipulated to fit in the model. In addition, the presenter demos the program that gathers the data, manipulates the data, checks the accuracy of the model, estimates the spread of COVID-19 in the next thirty days, and then finally estimates the spread of COVID-19 in one hundred days with decreased stringency. The model proves to be accurate in some cases and only breaks down over a long period of time and with changing rates and probabilities.

Symbolic Methods in Synthesized Cryptosystems

By Dalton Chichester

Faculty Mentor: Professor Andrew Marshall

I will be giving a brief overview of recent, and I think, interesting work on applying automated reasoning to cryptography. In particular to the automatic generation and security proofs of cryptographic systems. As well as introduce a new tool which is an implementation of some of these methods.