Research
Computer Science Education
My research has four main threads: academic integrity, collaboration, student success, and tools and OER for CS Education.
Academic Integrity
Academic integrity is usually discussed in terms of stopping or deterring cheating. We are instead interested in positive ways to promote academic integrity, through course policies, classroom interactions, and building a sense of community. I have had multiple discussions with students in courses on the practices that would help foster an atmosphere of honesty; we have tested a few examples including flexible collaboration policies and relaxed late penalties.
Collaboration
How do students collaborate? How can we foster healthy collaboration while maintaining academic integrity? We are looking to uncover how students collaborate if given freedom to choose and change their collaborators throughout the semester. We anticipate that this flexibility will help reduce cheating by promoting a sense of community. Our initial results, published in the 2021 SIGCSE Technical Symposium suggests that encouraging students to work in groups of 4-5 produces the best learning outcomes.
Student Success
{Need a Blurb}
Tools and OER for CS Education
{Need a Blurb}
Evolving Networks
Network analysis, especially social network analytics, has become widespread due to the growing amount of linked data available. Many researchers have started to consider evolving networks, i.e. Time-Varying Graphs (TVGs), to begin to understand how these networks change over time. In this dissertation, we expand on current practice in three directions: we define a new concept of “node-identity class” to describe different “lenses” over an evolving network, we develop sampling methods to produce representative static graphs over a network as it evolves, and we utilize social network metrics to produce distributions characterizing the dynamics of the network’s evolution. By combining these different techniques, we uncover a change effect in metric value due to network activity across sampling methods and window sizes, and produce a differential measure D(G) that helps signal possibly significant network evolution. We evaluate these techniques on synthetically-generated datasets with prescribed dynamics to show their effectiveness at capturing and depicting those events. We then apply our techniques to analyze three real-world applications: the Nauvoo Marriage Project, consisting of an evolving Mormon marital network in mid-1800s Nauvoo, IL; the Social Networks and Archival Context Project’s historical social-document network; and an ArXiv co-authorship network. In each case, we were able to depict the network’s dynamics, highlight periods of network activity for further investigation, and guide domain-specific researchers to new insights. For the Nauvoo Marriage Project, through a comparison of the network across identity lenses, our metrics depicted an increased centrality under the patriarchal lens compared with that of the matriarchal lens. Indeed, the rapidity with which the patriarchal centrality “rebounds” suggests a desire of the Nauvoo community to form a strong patriarchal system.
Read more in my Dissertation
Digital Humanities and Computer Science Applications
Visualizations and Network Analysis of early Mormonism, with Kathleen Flake (Religious Studies)
Publications and Presentations
- Visualization of Complex Familial and Social Structures 2018
- Visualizing Dynamics of Complex Familial Structures (Poster) 2016
- Identity Lenses in Analyzing Evolving Social Structures
PDF 2016 - Visualizing and Analyzing Identity Classes in Evolving Social Structures (Presentation) 2015
- Evolving Family Structures: Representation and Visualization (Presentation) 2015
- Evolving Social Structures: Networks with People as Edges (Presentation) 2014
Samples and Research Code
Visualizations and Network Analysis with SNAC
Social Networks and Archival Context Project visualizations and analysis through the Institute for Advanced Technology in the Humanities and UVA Library.
- Code for SNAC and IATH available on GitHub
Project Archive
k-point Matching using kd-trees and Voronoi diagrams
- Rice Hall Dedication and SEAS Open House poster
- PhD Qualifying Exam Proposal Document
- PhD Qualifying Exam Presentation
- Technical Report at Harvard Medical School
A Comparison of bug-finding tools
- Master’s Project Final Paper
- A Course in Software Development
- Adding Functionality to PMD Java Checker (Course project)
Interesting Course Projects
- Exploring Performance and Power Scaling in Multi-Core Processors
- Security Analysis and Superscalar Expansion of a Tamper Evident Microprocessor
- Increasing Performance of ext3 with USB Flash Drives (as journals) [ poster ]
- Modeling Voting Machines (in PVS Theorem Prover)
- Localization in Electronic Fabric
- Minimizing Power Consumption in Wireless Sensor Networks
- Analysis and Simulation of Incentives to Seed in BitTorrent