Open Research Projects

This page provides descriptions of potential research and design projects for computer science students. Students taking the senior capstone course should contact me at with questions and to get approval from the external member (if there is one). Graduate students can contact either me or the listed computer science faculty advisor.

Show projects for:
senior capstone masters doctorate
Toggle keywords to refine your search:
A Crowd Sourcing Interface for Hudson Bay and North Dakota Predator Trail Camera Images capstone masters doctoral

Wildlife@Home is a website that integrates crowd sourcing, volunteer computing, computer vision methods, and wildlife ecology into a citizen science project. Our goals with the project are to find more efficient ways to understand nesting behaviors of birds experiencing conservation threats. We are expanding the project to include time-lapse photography to our nest video collection to allow us to identify nest predators (e.g., polar bears, grizzly bears, arctic foxes, etc) and nesting behaviors to two tundra nesting species (e.g., common eiders and lesser snow geese).

Dr. Desell and Dr. Felege have been working with colleagues at Utah State University who have placed motion sensor cameras along the Hudson Bay to monitor wildlife activity, as well as a UND graduate student who has collected trail camera photos of predators around North Dakota. In total, there are over 2,000,000 photos from the Hudson Bay, and over 20,000 photos from North Dakota. We would like to develop a crowd sourcing interface as part of Wildlife@Home where users can view this videos and highlight areas where there are animals, labeling what animals are in the photos. Developing mobile apps for this crowd sourcing application would also be very exciting. There is also possibility of taking the volunteer classified animal images and training computer vision techniques to automatically recognize them.

Your task: To help us create a webpage and associated database that allows us to show volunteers images of nesting birds, highlight animals in images, and record information about those animals. Observations from volunteers and project experts will be stored in a database for use in comparing volunteer accuracy and as data source for computer vision testing. Opportunities to assist in developing image recognition algorithms that can be tested using our volunteer computing community may also exist as a part of this project.

crowd sourcing computer vision web programming volunteer computing mobile devices wildlife biology
Project Advisors:   Susan Felege   Travis Desell
AlgoLab capstone masters doctoral

The AlgoLab software provides high-level support for testing, validation, and comparison of algorithms. It was developed in 2009 and has been used regularly at UND since that time in support of both research and instruction relating to time and space requirements of computer algorithms. The application is a virtual laboratory that allows the user to run one or more algorithms on randomly generated instances of a problem and immediately view a chart that summarizes the results. It encapsulates a random generator for instances of the problem, a set of algorithms to be tested, and a visualization panel that captures and charts the results of an experiment.

The instance generator and the algorithms are essentially plug-ins, specified in a configuration file and dynamically loaded at run-time. The application can easily accommodate any instance generator with two parameters. This is sufficient to cover a wide variety of problems. For problems involving sets of positive integers, the parameters specify the set size and the maximum value. For graphs, the parameters specify the number of nodes and the number of edges. For Boolean expressions, the parameters specify the number of variables and the number of clauses. To date AlgoLab projects have been created for study of the following problems: subset sum, partition, vertex cover, and sorting. While LanguageLab provides high-level support for automated exhaustive testing, AlgoLab provides high-level support for automated random testing.

The project would be to work with Dr. O'Neil to develop parallel/distributed implementation of experiments, with an incremental real-time display.

algorithmic theory distributed computing
Project Advisors:   Tom O'Neil
Application Development for 3D Scanner capstone

The Computer Science Department’s large (multi-human-size) 3D scanner provides a platform for a wide variety of student projects. Capable of nearly-instantaneously imaging an individual or small group, the scanner produces 3D CAD models which can be incorporated into online games or virtual reality forums and used for a variety of research purposes.

Students can develop their own use for the scanner (e.g., a video game, incorporating the models into an existing game / forum, etc.) or help with one of several pending projects that will be using the scanner. Of particular interest is seeing if the scanner can be used to capture motion from the multi-perspective video.

3D scanning computer aided design
Project Advisors:   Scott Kerlin   Jeremy Straub
Computational Analysis of Ancient DNA capstone masters doctoral

Genomics and next generation sequencing are rapidly expanding fields that explore the complexities of DNA. Made possible by massively parallel DNA sequencing technology, analysis of the entire genetic code of all types of organisms is pushing biology and medicine forward. The enormous amounts of data and complexities of the analysis algorithms make this field perfect for cross discipline collaboration between biology and computer science researchers. This project is a unique opportunity to use these techniques to study the DNA and evolutionary biology of ancient humans and microbial colonies. The analysis will use tools like the Broad institute's Genome Analysis Toolkit to mine sequence data for subtle evolutionary differences between modern humans and samples collected from a 70,000 year old hominid in western Russia.

This project has two distinct analysis goals:

  1. To analyze genetic material from this fossil for several different outcomes relating to finding this individual's place in evolutionary history. To accomplish this the student will work to determine fossil age, gene flow, as well as what kinds of functional genetic features found in this individual are different from modern Humans, Denisovans, and Neanderthals.
  2. The second analysis objective is directed at studying the microbial environment of ancient humans. It is possible to mine the collected genetic material for not only human DNA but for the DNA left behind by micro-organisms that lived alongside the ancient individual. The student will attempt to isolate enough sequence information, unique from hominid DNA, from the data set to begin to catalog the microbiome of ancient humans.

bioinformatics data mining
Project Advisors:   Igor Ovtchinnikov   Adam Scheidegger   Travis Desell
Computer Animation and Game Development capstone

The computer animation and game development specialization requires the development of a four minute computer animation and a computer game. A team of students will develop a game concept, followed by an animation concept (the animation must be related to the game). Each team member will use OpenGL and C++ to develop their component of the animation, followed by an integration assignment where the component pieces are merged, culminating in a rendering assignment where the RayGL library is used to produce PovRAY SDL files rendered on the department's HPC.

Following the development of the animation, teams will further develop the game concept and the design. At which point the teams will implement their design using OpenGL and C++ culminating in a an integration assignment where the component pieces are merged. The development of educational games is highly encouraged.

computer graphics game design
Project Advisors:   Ron Marsh
Computer Vision for Automating Aerial Wildlife Surveys capstone masters doctoral


Dr. Desell, Dr. Felege and Dr. Newman have been working with various wildlife agencies to begin using unmanned aerial systems to perform wildlife surveys, as one of the most common causes of death of forestry workers is done during manned aerial surveys. The team has recently purchased a Trimble UX5 UAS for this work, and have gathered some large preliminary data sets of video and multispectral imagery from over Sully's Hill North Dakota, which includes bison, their calves and prarie dogs. This project will involved developing software that can detect and count animals of different species using computer vision techniques.

wildlife biology computer vision unmanned aerial systems
Project Advisors:   Susan Ellis-Felege   Robert Newman   Travis Desell
Crowd-sourced Tagging for Reddit Comments capstone

Digital rhetoric is the study and production of communication in digital media environments. Dr. Basgier (from the English Department) is interested in studying the rhetoric of Reddit, using a preexisting database of comments (the entire comment base of reddit has been made available at approximately 3 terabytes). This project will have two phases: first, the creation of a simple script to enable a corpus analysis of comments; and second, a platform for crowd-sourced tagging and annotation of Reddit comments. Dr. Basgier will provide an initial set of tags, but users should be able to add additional tags if they come upon a comment that does not fit the existing list. Also, because single comments are not always clear, users should be able to view the context of the comments to better understand, and therefore tag, their rhetorical purpose.

digital humanities database programming web programming crowd sourcing
Project Advisors:   Travis Desell   Christopher Basgier
Cyber Attack Simulator for UAV Environment capstone

This is a collaborative project with the Electrical Engineering Capstone course, and will involve working with a group of EE capstone students as well.

simulation cyber security smart grids
Project Advisors:   Prakash Ranganathan   Travis Desell
Data Mining the National General Aviation Flight Database capstone masters doctoral

Professor Higgins has been collecting flight data from UND Aviation student flights for the last three years, resulting in a large database of per second flight data recorder readings from over 80,000 flights. As general aviation has the highest fatality and accident rates in civil aviation, we are interested in developing techniques to data mine this database to find anomalous and potentially hazardous flights so we can use this data to develop sensors to provide warnings to pilots, preventing accidents. Current efforts involve using recurrent neural networks to predict flight parameters, and self-organizing maps to cluster the flight data to find outliers. We are interested in developing a volunteer computing and crowd sourcing project to help analyze this data as well, so there are many options for capstone projects, such as developing a web interface to replay flights using Cesium and providing an interface to allow users to describe and potential problems that may have arisen in the flight.

aviation machine learning neural networks data mining web programming volunteer computing
Project Advisors:   Jim Higgins   Brandon Wild   Travis Desell
Developing a Custom-Built App for Body Area Network Applications capstone

Background: Body Area Network (BAN) is for low power devices (sensors) on the human body to serve applications such as medical monitoring, personal entertainment and other.

Goal: This is a collaborative project with Electrical Engineering (EE) Senior Design group. The goal is to design and build a system that is optimized for on-body placement in a BAN application for monitoring heart signals. The EE group will be in charge of building the sensor and antenna system. The Computer Science (CS) team will be in charge of developing the app that show the signal and probably do some simple analysis.

Method: Apart from the antenna, the BAN antenna system should include a data-collecting sensor, connected to a Bluetooth transceiver. The transceiver is connected to the antenna to transfer the data to the custom-built app on an Android smartphone. The transceiver must comply with the Bluetooth standard and able to operate at Class 3 power rating (≤ 1 mW). The system should be battery-powered.

Apart from application-specific data, the Android app must be able to display and log the power received from the system, for comparison of link performance in terms of received power (in dBm).

mobile devices
Project Advisors:   Sima Noghanian   Travis Desell
DNA@Home capstone masters doctoral

DNA@Home is a project being developed in conjunction with Professors Malik Magdon-Ismail, Boleslaw Szymanski, and Lee Newberg at Rensselaer Polytechnic Institute. Dr. Newberg also works at the New York Department of Health's Wadsworth Center. The goal of DNA@Home is to discover what regulates the genes in DNA. DNA@Home does this by looking for protein binding sites in the DNA between genes. Currently, DNA@Home is analyzing the DNA of Mycobacterium tuberculosis. This is done using Gibbs sampling, which is a variant of Markov-Chain Monte Carlo sampling. As this sampling can be extremely time consuming, DNA@Home has been set up as a volunteer computing project in hopes that volunteers will provide enough computing power to perform this sampling at a full genome scale.

Projects include:

    Implementing versions of the DNA@Home application for graphical processing units (GPUS).
  • Implementing "fragementation" within the DNA@Home application, which allows the potential models of protein binding sites to have variable gaps.
  • Developing and examining asynchronous/distributed sampling algorithms to allow faster discovery of these binding sites using distributed computing systems.
  • Developing web interfaces for DNA@Home's scientists to start new sampling runs and easily track their progress.

volunteer computing bioinformatics web programming GPU computing
Project Advisors:   Travis Desell
Dynamical Properties near Percolative Superconductor-Insulator Transitions capstone masters doctoral

This project will study dynamical electrical properties of classical inductor-capacitor-resistor (LCR) networks. In particular, this project will be to study the behavior of the conductivity, electric susceptibility, diamagnetic susceptibility, and scanning probe capacitance/conductance near the superconductor-insulator transition (the percolation threshold). The study is directly relevant to experiments on superconductor-insulator composite materials, and it is also part of a large research program in which various models are compared in order to separate the effects of quenched disorder, Coulomb blockade, and pairbreaking. The project will utilize an efficient algorithm developed by Dr. Loh's group, which has been demonstrated to work on very large systems (6000x6000 lattices with 30,000,000 circuit elements, compared to 20x20 and 100x100 lattices previously studied in the literature). The algorithm involves simple algebraic updates of voltages and currents on a grid, so students will be able to take existing code and modify initial conditions, boundary conditions, and measured quantities. On potential task will be to extend the algorithm for use on parallel computing systems (GPUs or UND's high performance computing clusters) for running even larger systems. The project will also involve developing visualizations (such as current patterns, spectra, color plots, animations) in OpenGL or other graphics package.

physics theory dynamic systems simulation computer graphics GPU computing distributed computing
Project Advisors:   Yen Lee Loh
Evolutionary Algorithms and Machine Learning Research with TAO capstone masters doctoral

Dr. Desell has developed a generic framework for parallel and distributed numerical optimization called TAO, a Toolkit for Asynchronous Optimization. TAO has C/C++ based implementations of evolutionary algorithms (such as genetic search, particle swarm optimization and differential evolution), as well as other optimization methods (newton method, conjugate gradient descent).

Projects include:

  • Implementing and examining the performance and convergence rates of different benchmark functions using different types of parallelism on different distributed computing networks, such as peer-to-peer, cluster, grid or volunteer computing systems.
  • Investigating new types of evolutionary algorithms that may be more suited to distributed computing environments.
  • Extending the framework to include machine learning algorithms such as support vector machines and neural networks, which could be then optimized by the frameworks numerical optimization code.

distributed computing evolutionary algorithms machine learning
Project Advisors:   Travis Desell
Geological Simulation of Conduction, Convection and Erosion capstone masters doctoral

This project is to conitnue development of a high performance geological heat transfer simulation. The code simulates heat transport in mass and fluid flow scenarios on scales ranging from thousands of km for plate tectonics to cm for fluid flow in geothermal systems. It has recently been extended to support conduction and convection simulation in three dimensions, 3D visualization, as well as the erosion of different compounds.

Initial data sets have been gathered and this project will use them to model the erosion of the Grand Canyon, in hopes to answer questions about the uncertainty of its age. Part of this will involve, to adequately simulate the erosion of the Grand Canyon, implementing different dynamic reconfiguration strategies, as simulated erosion changes the computational load as the simulation executes.

The goal of this project is to efficiently use the geological simulation to model the erosion of the entire grand canyon as well as other geological areas, but also investigate advanced load balancing methods. It will also be possible to investigate other types of computational fluid dynamics simulation under the supervision of Dr. Krishnamoorthy as part of this project.

dynamic systems simulation computer graphics GPU computing load balancing geology distributed computing
Ground Station Software Development capstone

The ground station acts as the user interface of a spacecraft. This project seeks to develop software to control ground station hardware and generate and transmit commands to a spacecraft in low-Earth orbit. It will involve human interface design, writing code to control physical hardware and the development and validation of software to generate physical commands for transmission to the spacecraft.

This project is part of the interdisciplinary OpenOrbiter Small Spacecraft Development Initiative and offers participants the opportunity to work on a large project with students from numerous disciplines. This provides the opportunity to learn/put to use time and project management skills and code version management in a workplace-realistic environment. The OpenOrbiter designs and software will be made freely available (as part of the open hardware / open-source software initiative) to allow their use worldwide.

spacecraft spacecraft communication ground station cyber-physical systems
Project Advisors:   Scott Kerlin   Jeremy Straub
Inventory System for Minor and Major Equipment capstone

Departments at UND maintain major and minor inventory lists. Assets are tagged with barcoded stickers. Modern smart phones can take pictures which are high enough resolution to read the barcodes. I would like to leverage these facts to create an smartphone based (Android first, other phone OS’s could be added later) inventory system. We would need to have the data stored on a server and then 1 (or more) apps to manage the data. From a smartphone, I would want to be able to locate, verify, update, and/or move inventory. I would also want to be able to use my smartphone to create, view, update, disable, or remove other users (as an admin…Obviously regular users shouldn’t be able to do that), as well as check the logs for recent activity. The system will be live, so it will need authentication and be able to handle multiple, concurrent users. System will also need to produce Excel files (or CSV’s) as well as accept Excel files (or CSV’s) of the inventory items.

database programming web programming mobile devices
Project Advisors:   Scott Kerlin
LanguageLab capstone masters

The LanguageLab software was developed to support both research and instruction in formal languages. A formal language is a possibly infinite set of strings over some finite alphabet of symbols. The universe of all possible formal languages provides a simple model for all computation. Since every computer program is mapping from input strings to output strings, and every program is itself a string, the formal language universe encapsulates all programs and the functions that they compute. A typical course on the theory of computing examines several formal systems that can be used to specify languages. Some of these systems (such as finite state machines) are acceptance devices: given a string, a language acceptor determines whether the string is in its language. Other systems (such as context-free grammars) are string generating devices: a language generator defines a set of string- replacement rules that can be applied to generate the strings of the language. The LanguageLab software has editing frames for creation and testing of finite state machines and grammars. Each editor has a local test/trace capability that allows the user to observe the formal system's step-by-step behavior as it processes strings.

In addition to local, low-level testing capability for each system, there is a higher-level testing interface for both acceptors and generators. For an acceptor, the user enters a string, and the interface runs the acceptor and records the result. For a generator, the user specifies how many strings to generate, and the interface runs the generator to get the requested number of strings. To be tested, a language must have an acceptor, a generator, or both. If the language has only one of these specifiers, the interface will attempt to automatically build the other. In order to accomplish this, the software has a component that can generate all strings over any finite alphabet. It also has more specialized generators for bit strings. It can, for example, generate all bit strings of a specified length containing a specified number of ones. The bit string generator can be used in combination with any finite set of objects to generate all subsets or all subsets of a specified size. These generator components are useful tools for exhaustive testing in any automated testing environment.

The project would be to work with Dr. O'Neil to develop a parallel/distributed language equivalence test, or other parallel/distributed implementations.

algorithmic theory distributed computing formal languages programming languages
Project Advisors:   Tom O'Neil
Mapping North Dakota capstone

The Mapping North Dakota project is an interdisciplinary initiative in the College of Arts & Sciences that focuses on citizen literacy on North Dakota. In celebration and recognition of North Dakota’s 125th year of statehood this fall, an interdisciplinary group of 10-20 students will work under the mentorship of faculty to engage in mapping demographic, economic, and social changes across the state, interpreting such changes, and disseminating findings in digital form. Given the significant changes in the state in recent years, the interpretive project provides an important resource to policy makers, community members, and K-12 colleagues and students. Students from across the college have been invited to participate in a 3-credit course and/or directed studies to complete the task. Dr. Michael Niedzielski from geography and Dr. Tami Carmichael from Integrated Studies are the lead faculty members. They are working with a team of faculty from history, anthropology, religious studies, computer science, sociology, and American Indian Studies – each of them will mentor students who are part of this project. Your task will be to do the web and database design for the project.

web programming database programming digital humanities
Project Advisors:   Michael Niedzielski   Travis Desell
Modifying Systems Biology Code for GPUs capstone masters doctoral

Systems biology is an emerging field which takes a non-reductionist approach to complex biological systems. On a practical level this invariably requires that we build computational models of such systems. We work on a model that, from quantitative gene expression data, infers the scheme by which the expression of genes is controlled. The model simulates the binding of transcription factors, proteins that affect gene expression, to DNA using statistical physics principles and then predicts gene expression using phenomenological principles. The parameters and regulatory scheme are inferred using global non-linear optimization techniques such as simulated annealing running on parallel computers. The code (originally developed by the Reinitz lab at the University of Chicago) is written in C and uses MPI for parallel communication. This reverse engineering scheme could potentially benefit from GPU parallelization since the number of models to be evaluated is 2^N, where N is the number of transcription factors. GPU parallelization would enable scaling this methodology to much larger numbers of transcription factors and datasets. The project will involve evaluating which layer in the stack, occupancy calculation/individual optimization/individual model, is most suitable for GPU parallelization and then implementing the GPU code with CUDA or openCL.

GPU computing distributed computing
Project Advisors:   Manu   Travis Desell
Multi-User Tag Based System to Capture, Annotate, Archive and Review Screenshots to Study the Virtual Community and Culture of World of Warcraft Players capstone

Virtual worlds ethnography is the study of online communities and online culture through immersing oneself in the online community and/or online culture that one is studying. Toward that end, a virtual worlds ethnographer collects data with respect to first hand interactions as part of the online community/culture they are engaged with. When dealing with video game based communities/cultures, a commonly used data element is the "screenshot" in order to capture the interaction in its entirety. While this technique works in capturing interactions, screenshots don't always include the complete context of the interaction or the thoughts/importance which the researcher was mentally applying to interaction captures. Additionally, since screenshots are images, they can be hard to search through in order to locate a specific screenshot or to see related screenshots. Both of these problems are magnified when there are more participants in the data collection. This project is designed to address these issues.

Working with Mr. Kerlin (UND) and Dr. Braithwaite (UOIT), students engaged in this project will develop a series of applications that will work together in creating a system for World of Warcraft based ethnographic research. The end result will include the following primary deliverables:

  • A World of Warcraft addon which takes a screenshot and allows the user to enter text about the screenshot that was captured and tags/keywords which relate to the screenshot captured.
  • A local application that is able to take the data collected by the addon and upload it to a database.
  • A database to archive, search and manage the data.

addon development database programming virtual ethnography gaming study web programming
Project Advisors:   Scott Kerlin   Andrea Braithwaite
Parallel Programming with GPUs for Microwave Imaging capstone masters doctoral

The goal of this project is to implement microwave imaging using Graphic Processing Units (GPUs) using the Finite Difference Time Domain (FDTD) simulation method along with bio-inspired optimization methods such as Genetic Algorithms (GAs) or Evolutionary Algorithms (EAs). The FDTD algorithm is essentially data-parallel in nature, making it well suited to GPU computing. With parallel computations of the FDTD codes, we are able to reduce the time required to provide reconstruction of images, which will allow better detection of different objects in tissue, such as breast cancer. The parallel implementation is necessary in order to reach high-quality solutions in reasonable time. The parallelization of FDTD using GPU has already been implemented for a two dimensional space. This project will be to extend it to three dimensional space and perform a comparison of different optimization methods in terms of speed-up and memory usage.

evolutionary algorithms GPU computing distributed computing medical imaging
Project Advisors:   Sima Noghanian   Travis Desell
PhotoID for Frog Recognition and Capture-Recapture Analysis capstone masters doctoral

Capture-recapture is one of the core techniques used in wildlife studies to estimate survival and movement rates of individual animals and abundance of populations. In this project, for frog identification, we want to have a computer image-matching or pattern recognition system to perform the identification rapidly and accurately.

This project will involve studying different feature detection or pattern matching algorithms, such as SURF and SIFT, to perform identification of frogs captured over multiple seasons. A database for the images is available which has images for over 8000 captures, including 546 recaptures. The project members will be expected to provide an interface for identifying frogs, which should be easily updatable to include imagery from new captures.

The project team may potentially include Electrical Engineering students taking the EE capstone course.

computer vision frog identification pattern matching
Project Advisors:   Robert Newman   Reza Fazel-Rezai   Travis Desell
Robotic Mining Competition capstone

The Robotics Mining Competition is an annual event where students develop the technology to mine as much material as possible in a 10 minute period. The competition is hosted by NASA at the Kennedy Space Center at the end of May. In the past, students have had alumni provide tours, met astronauts, get VIP passes to shuttle launches, and talked to the director of the space center. UND has done very well at the competition. This has included a first place finish in the completion and two second place finishes in the mining portion of the competition.

The major objective is to automate the mining process. In the past the robot was controlled using a X-Box controller. The object of the 2014 Robotic Mining team is to eliminate the need for an operator. This requires the creation of an algorithms to process sensor data to determine the 1) location of the robot inside the competition arena (a SLAM system), 2) move the robot to the mining area, and 3) mine. The project provides students with an opportunity to work with a diverse group of engineers and travel with them to the competition. Support will be provided to offset cost of travel to the competition. Typically, student travel and housing costs have been covered.

More information can be found at: www.nasa.gov/offices/education/centers/kennedy/technology/nasarmc.html.

robotics sensor anlaysis cyber-physical systems
Project Advisors:   Jeremiah Neubert   Naima Kaabouch
Secure Architectural Analysis and Design Language Using Petri Nets capstone

The need to protect key assets and information from being accessed by any unauthorized personnel or entities is the most important aspect of any design. Security threats such as Interception, Interruption, Modification and Fabrication can compromise important system wide qualities such as availability, security, etc. The safety critical systems that are controlled by communication systems are examples of what is known as the cyber-physical systems. The cyber-physical systems are secured to a certain extent; however, there still remains significant work to be able to adequately protect them from unauthorized access. There are many devices that are prone to security attacks on regular basis.

The Architecture Analysis & Design Language (AADL) is an architecture design language standardized by SAE (Society of Automotive Engineers) and is used to model the hardware and software architecture of real-time and embedded systems. It has been widely employed in design and specification of Avionic systems. The main objective of this research is to extend AADL with High Level Petri nets that can be used to analyze and verify the security aspects of cyber-physical systems such as Unmanned Aircraft Systems (UAS).

unmanned aerial systems petri nets security software engineering cyber-physical systems
Project Advisors:   Hassan Reza
Spacecraft Mosaicking Software Development capstone

Mosaicking software combined multiple images into a single large image. In the process, it must correct differences in image perspective, rotation and sizing. This projects seeks to develop a robust mosaicking software package that can run onboard a spacecraft. By mosaicking imagery onboard, the amount of data transmitted to the ground (over slow and expensive communications channels) can be reduced via the elimination of overlapping regions. It also creates a data product that is ready to be consumed by ground-based users. Due to the limitations of small spacecraft capabilities, the software must operate in a computationally limited environment. A collection of four interconnected GumStix WaterSTORM Computer-on-Module units will serve as the computational platform for this project.

This project is part of the interdisciplinary OpenOrbiter Small Spacecraft Development Initiative and offers participants the opportunity to work on a large project with students from numerous disciplines. This provides the opportunity to learn/put to use time and project management skills and code version management in a workplace-realistic environment. The OpenOrbiter designs and software will be made freely available (as part of the open hardware / open-source software initiative) to allow their use worldwide.

spacecraft mosaicking image processing cyber-physical systems
Project Advisors:   Ronald Marsh   Jeremy Straub
Spacecraft Test Plan and Testing Development capstone

Software for cyber-physical systems, such as spacecraft, requires extensive testing to determine whether it will function under all of the conditions that it may be exposed to in operation. This project will expand existing test plans, scripts and documentation to create a more robust testing regimen. Testing will be performed in concert with ongoing development by other groups.

This project is part of the interdisciplinary OpenOrbiter Small Spacecraft Development Initiative and offers participants the opportunity to work on a large project with students from numerous disciplines. This provides the opportunity to learn/put to use time and project management skills and code version management in a workplace-realistic environment. The OpenOrbiter designs and software will be made freely available (as part of the open hardware / open-source software initiative) to allow their use worldwide.

spacecraft software engineering cyber-physical systems
Project Advisors:   Hassan Reza   Jeremy Straub
Speech Language Pathology Data Tracking Application capstone

Children with speech sound disorders make up a large portion (up to 99%) of most school-based speech-language pathologists’ (SLPs) caseloads. Due to budget cuts, many SLPs have a large number of children on their caseload; this can make the tracking of daily treatment data difficult to accomplish easily and effectively.

There are some speech treatment data tracking apps available in the App Store, for example: ArtikPix, Pocket Artic, Articulation Station, Super Duper Data Tracker. These apps typically specialize in providing a large number of picture stimuli for children to name. However, they are very inflexible, which makes it difficult for a SLP to modify data tracking procedures to suit his/her specific needs. The goal of this project is to design an iOS app that will be used by researchers and SLPs to track children’s productions during a speech treatment session.

Unlike previous data tracking apps, this project will incorporate two iOS devices: one that the child will use and one that the SLP will use. The child’s device will only present pictures and their labels (written and auditory, as necessary) – no controls will be present on that device. The adult’s device will have a variety of controls including: audio recording, video recording, accuracy rating of productions, level of cueing, length of utterance produced, etc. Being able to modify these controls as needed is an important aspect of this app. In addition, the SLP must be able to select specific pictures to present to each child, and the app must allow additional picture and auditory files to be added as needed. Ideally, audio and/or video recordings made within a session should also have the option of being saved for later use. Information regarding individual trial outcomes, as well as overall outcomes for daily sessions would need to be accessible via a spreadsheet/excel output, as well as through a web-based interface.

web development mobile devices IOS app design computer graphics game design speech language pathology
Project Advisors:   Alycia Cummings   Travis Desell
SubsetSum@Home - Developing GPU Applications for Volunteer Computing capstone masters

SubsetSum@Home is a volunteer computing project developed to test the Subset Sum Decision Threshold: Given a maximum value m and a set size n, the program exhaustively generates all subsets of {1, ..., m} that have n elements. For each of these sets, it generates all of its subset sums to see if any are missing. SubsetSum@Home has current reached an m = 50, however to make fast further progress the application used by the volunteered computers needs to be ported to NVidia and ATI graphical processing units (GPUs). This project would involve taking the client application code and developing GPU applications to be used by SubsetSum@Home.

volunteer computing algorithmic theory GPU computing
Project Advisors:   Travis Desell   Tom O'Neil
The Internet Operating System (IOS) Middleware capstone masters doctoral

The Internet Operating System (IOS) middleware was developed as an extension to the SALSA programming language, because SALSA allows for transparent migration of actors between processors without disrupting a running program. It allows the automated migration of actors (similar to threads or processes) for load balancing and automatic redistribution of a program on dynamic networks (where processors may join and leave the computation).

Projects include:

  • Integrating IOS with SALSA "lite".
  • Investigating new approaches for automated load balancing.

distributed computing programming languages middleware load balancing
Project Advisors:   Travis Desell
The OverView Distributed Software Visualization Framework capstone masters doctoral

The OverView Distributed Software Visualization Framework was created to be able to visualize distributed software. It proves to be a useful tool to be able to understand and debug SALSA programs, especially if they are using the IOS middleware (see the related SALSA and IOS projects on this page). OverView allows users to view the communication patterns and migration of different software components which users register with the visualization framework.

Projects include:

  • Integrating OverView with SALSA "lite".
  • Developing new visualizations for distributed software systems.
  • Integrating OverView with BOINC and the volunteer computing sites.

distributed computing middleware software visualization
Project Advisors:   Travis Desell
The SALSA Programming Language capstone masters doctoral

In collaboration with Rensselaer Polytechnic Institute's Worldwide Computing Laboratory, Dr. Desell and Dr. Carlos Varela have done significant research and development of the SALSA programming language, including the SALSA 2.0 alpha version, SALSA "lite". SALSA is a programming language based on the actor model, which allows for easy distributed programming. Communication between actors on different processors is handled transparently by SALSA's runtime. Further, actors can be created on remote processors, and even migrate between processors while running, which is also handled transparently by the runtime.

Projects include:

  • Developing unit tests and a unit testing suite for the SALSA compiler and runtime.
  • Developing a new version of the SALSA Compiler and runtime which compile SALSA applications into MPI/C code instead of Java.
  • Improvements to the SALSA compiler -- such as better support for generics, increasing performance, providing more informative error messages.
  • Improvements to the SALSA runtime -- such as increasing performance of actor message passing, migration and remote creation.
  • Implementing distributed actor-based garbage collection.
  • Designing and implementing semantics for actor-based distributed exception handing.
  • Developing SALSA libraries for distributed actor-based data structures.

distributed computing programming languages
Project Advisors:   Travis Desell
Toward Model-Based Engineering of Safety Critical Systems Using Architectural Analysis and Design Languages (AADL) and Petri Nets Markup Language (PNML) capstone

Architecture Analysis and Design Language (AADL) has been utilized to specify and verify non-functional properties of Real-Time Embedded Systems (RTES) used in critical application systems. Examples of such critical application systems include medical devices, nuclear power plants, aerospace, financial, etc. Using AADL, an engineer is enable to analyze the quality of a system. For example, a developer can perform performance analysis such as end-to-end flow analysis to guarantee that system components have the required resources to meet the timing requirements relevant to their communications. The critical issue related to developing and deploying safety critical systems is how to validate the expected level of quality (e.g., safety, performance, security) and functionalities (capabilities) at design level. Currently, the core AADL is extensively applied to analyze and verify quality of RTES embed in the safety critical applications. The notation lacks the formal semantics needed to reason about the logical properties (e.g., deadlock, livelock, etc.) and capabilities of safety critical systems. The objective of this research is to augment AADL with exiting formal semantics and supporting tools in a manner that these properties can be automatically verified. Toward this goal, we exploit Petri Net Markup Language (PNML), which is a standard acting as the intermediate language between different classes of Petri Nets. Using PNML, we interface AADL with different classes of Petri nets, which support different types of tools and reasoning. The justifications for using PNML is that the framework provides a context in which interoperability and ex-changeability among different models of a system specified by different types of Petri nets is possible. Feedback from analysis of various petri nets model should be used to correct the deign at high level of abstraction.

software engineering petri nets
Project Advisors:   Hassan Reza
UAS TCO App capstone

UAS TCO: App is a mobile application which allows students and instructors to easily access the contents of a training course outline and any associated reference materials. The app is intended for initial use in an unmanned aircraft systems (UAS) course as part of a cooperative research effort between the UND Center for UAS Research, Education & Training and the Air Force Research Laboratory (AFRL). This project involves access to export-controlled information, so participants must be U.S. persons.

A typical UAS flight lesson in a simulator involves two students (a pilot and a sensor operator), each with their own set of tasks that must be monitored and evaluated by the instructor. Extensive paper references are utilized during lessons as well, cluttering the workspace. UAS TCO: App is meant to make the instructor’s job much easier and put all the necessary references on a tablet at the instructor’s and students’ fingertips.

An administrative interface, UAS TCO: Admin, has already been built which allows instructors to build a training course outline, including the setup of each lesson, uploading and linking of reference materials, and establishing grading criteria. UAS TCO: Admin also handles the creation of accounts and assigning students to the proper course. The mobile app portion of this project must display all of this information in a clear and compact interface.

The project would involve working with Aerospace Network and UND Center for UAS Research, Education & Training personnel to complete the UAS TCO app.

unmanned aerial systems mobile devices web programming
Project Advisors:   Mark Hastings   Travis Desell
UAV Swarm capstone

This is a collaborative project with the Electrical Engineering Capstone course, and will involve working with a group of EE capstone students as well.

simulation unmanned aerial systems
Project Advisors:   Sima Noghanian   Prakash Ranganathan   Travis Desell
UND Writers Conference Digital Collection capstone

The UND Writers Conference Digital Collection is a collaborative project between the Chester Fritz Library and Dr. Crystal Alberts, director of the UND Writers Conference, which is working to make the 600 hours of video of the UND Writers Conference archive (1970-present) freely available online for scholarly, historical, and educational purposes. The UND Writers Conference Digital Collection also plans to include fully searchable e-texts of the transcriptions. To date, the collection has approximately 117 hours of video online, along with 25 hours of transcriptions: http://library.und.edu/digital/writers-conference.

This project will involve developing a prototype of the fully searchable e-text database of the transcriptions, which are currently encoded in Text Encoding Initiative (TEI) compliant XML (http://www.tei-c.org/index.xml). I am open to the idea of not using the XML files, but finding another way to create a fully searchable e-text database.

In addition (or instead of), if copyright issues are resolved, I am interested in developing a way to crowdsource transcriptions of the video similar to what the University of Iowa has done (although with video): http://diyhistory.lib.uiowa.edu/. These transcriptions (after a few levels of review/QA) would then be fed into the searchable e-text database.

In order to complete this project, the following skills will be needed (or learned): HTML, PHP, Java, XML, XSLT, MySQL, and API.

web programming digital humanities volunteer computing crowd sourcing database programming
Project Advisors:   Crystal Alberts   Travis Desell
Web-accessible Regional Climate Interface capstone

The understanding of changing climatic conditions by agricultural producers is a major challenge to the sustainability of a vibrant agricultural economy in North Dakota and surrounding States. While a rich climate history exists in data archives, both at a national and regional scale, these resources are of little use to modern production agriculture due to poor methods of access for discrete locations of interests to individual producers. Given the widespread adoption of computer-based technologies within agriculture over the past decade, the provision of sophisticated web-based tools to access these data are now appropriate for individual farmers and ranchers across the region.

This project will involve a three-pronged approach to providing these much needed data to production agriculture. First, a searchable database will be constructed that contains both historical and current weather records for all available data source locations across North Dakota and surrounding regions that have been analyzed to produce two-dimensional spatial data through objective analyses. Second, a method of web-based access to this database will be constructed that uses interactive geospatial tools in a web environment to provide users a fully navigable access to individual locations approximately the size of a township. Third, a data analytics toolkit will be developed to provide a comparative analysis of past climate trends to recent weather trends for these discrete locations.

This project potentially will team Atmospheric Sciences capstone and/or graduate student research with capable Computer Science students. Experience in database design/development, visualization, and asynchronous web design is required.

atmospheric sciences web programming database programming
Project Advisors:   Leon Osborne
West Nile Virus Incidence Prediction and Visualization Mapping Interface capstone

This is a collaborative project with the Electrical Engineering Capstone course, and will involve working with a group of EE capstone students as well.

simulation visualization
Project Advisors:   Prakash Ranganathan   Travis Desell
Wildlife@Home capstone masters doctoral

Wildlife@Home combines both volunteer computing and crowd sourcing with the goal of analyzing the tens of thousands of hours of wildlife video gathered by Dr. Ellis-Felege, so it can be evaluated to investigate hypotheses about avian parental behavior and the impact of gas and oil development in western North Dakota. The project is currently investigating three species: piping plover and interior least terns, federally protected species; as well as the sharptailed grouse, a species indicitave of habitat health and an important game species.

Projets include:

    Improving the accuracy and reliability of Wildlife@Home's motion detection algorithm, which attempts to find moments of wildlife motion (as opposed to moving grass and changing weather) within the gathered video.
  • Improving the accuracy and reliabilty of Wildlife@Home's feature detection algorithm, which uses the SURF (Speeded Up Robust Features) algorithm to determine the presence of the monitored birds, their chicks and predators in the gathered video.
  • Development of GPU enabled motion detection and/or feature detection applications for use on Wildlife@Home's volunteered computers.
  • Develop web pages to improve outreach to the volunteer users, by improving the web design and adding web pages to increase social networking and generate user interest.
  • Create a suite of webpages to act as a scientific web portal for Dr. Ellis-Felege and her students to view the gathered video and analyze results from the computer vision methods and crowd sourced volunteers.

volunteer computing crowd sourcing computer vision GPU computing web programming wildlife biology
Project Advisors:   Travis Desell   Susan Ellis-Felege
Wildlife@Home – Outreach and Education Module Website Development capstone

Wildlife@Home is a website that integrates crowd sourcing, volunteer computing, computer vision methods, and wildlife ecology into a citizen science project. Our goals with the project are to find more efficient ways to understand nesting behaviors of birds experiencing conservation threats. As part of this National Science Foundation, North Dakota Game and Fish and USGS funded project, we are creating educational modules to allow elementary, middle and high school students with opportunities to learn about nesting ecology, avian biology, conservation threats, and science in general. This involves students reviewing videos, recording observations, and discussing landscape topics.>/p>

Your task: To help us create the website that allows students to look at an interactive and dynamic map of our study areas with nest site locations and land cover classifications. This website should enable students to click on that nest and have a video clip linked to it appear. The student will then be able to record the observation for that nest as hatch or fail. If it fails, then there are options students can select to identify the predator who destroyed the nest. The webpage will need to include links to educational resources developed by the project supervisors such as module learning objectives, assignments, and background material for teachers for a series of different grade levels.

web programming database programming education
Project Advisors:   Susan Ellis-Felege   Travis Desell   Chris Felege
Word Discrimination Video Game capstone

Approximately 8% of all children have a speech sound disorder that will require speech treatment. Along with having a difficulty producing speech sounds, many of these children also are unable to detect subtle differences between speech sounds, which may impact the success of their speech treatment. Unfortunately, it is often difficult or impossible for speech-language pathologists to assess children’s speech perception abilities. The goal of this project is to assist with the final creation of an iPad “video game” and web interface that could be used both by researchers and speech-language pathologists to evaluate children’s ability to perceive differences in speech sounds and words.

Last year and during the summer, students worked on creating an iPad app that presents children with a single picture and then an auditory file that either match or mismatch. In its current state, the iPad app provides a basic interface to allow a researcher to administer trials to students using a Bluetooth connection to a second iPad running the same app (server/client design). The researcher’s iPad then records responses from the student, storing the answers in a SQLite database on the researcher’s iPad. However, the iPad app is currently in the alpha stage, and needs a few additional features to be implemented. The focus of work on this project shall be: 1) creating an external database system for the storage of results; 2) synchronizing the data collected by the iPad app with the database system (and vice versa for the addition of new picture/sound pairs); 3) creating a web-interface that visually represents the database system, allowing researchers to quickly and effectively analyze results; and 4) assisting with the testing and completion of the iPad app itself.

web development mobile devices IOS app design computer graphics game design speech language pathology
Project Advisors:   Alycia Cummings   Travis Desell