Course Home | Forms | Project Ideas

Saint Louis University
Dept. of Math & Computer Science

Computer Science 4961/4962
Capstone Project

Michael Goldwasser

Fall 2017


The first phase of the capstone experience is the selection of a project and the creation of teams. This page provides a summary of potential projects for this semester. Students must provide their personal preferences by 5:00pm Tuesday, September 5, 2017 , so if you wish to suggest another project idea for consideration, such a suggestion must be provided by classtime on 3:00pm Friday, September 1, 2017 . You may wish to take a look at past project descriptions that have been selected in recent years.


Menu of potential projects

Table of Contents:
  1. A Mobile App for Teaching Pronunciation of World Languages via Real-time Spectrogram Analysis
  2. A Web-based Tool for Drawing Concept Maps in Biology
  3. Tablet App for NICU "Code Sheet"
  4. Medical Education Project
  5. Advanced Data Editor
  6. Image Analysis for Paleographic Study
  7. Image Realignment for Published Manuscripts
  8. Supporting Fréchet Distance in CGAL
  9. Financial Risk Management with Apache Spark
  10. Very Low Latency Real-Time Computation
  11. Power-aware Control on the Raspberry Pi for UAV control
  12. Multi-User Virtual Reality Interface for Control of Aerial Drones
  13. Collaborative Telepathology
  14. Reunifying children with their legal guardians after (natural or man-made) disaster using serverless computing
  15. An Online Gaming App Using Haptics to Teach STEM Concepts
  16. Whack a Mole: A Risk Minimization Approach to Moving Target Defense in the Cloud
  17. Evaluation of Machine Translation Approaches for Closely-related Languages
  18. Reboot of Accentuate.us
  19. Spellchecker Development
  20. Self-contained Search Engine Solution for Irish Language Websites
  21. Syntax-aware Machine Translation of English into VSO Languages
  22. SLUber: Technology improvements for the SLU Ride operations
  23. Games (tbd)

A Mobile App for Teaching Pronunciation of World Languages via Real-time Spectrogram Analysis

Organization: SLU's Department of Languages, Literature, & Cultures
Client: Prof. Christina Garcia <christina.garcia@slu.edu>
Supervisor: Drs. Kevin Scannell and Flavio Esposito
Description:
Drs. Christina Garcia (SLU) and Terrell Morgan (Ohio State) have built a set of web-based tools that take learning far beyond the classroom for L2 pronunciation students. Among these is a site where students record themselves and can instantaneously compare their own voiceprint to that of a native speaker. For each sound, the system displays native and non-native speech samples alongside spectrographic representations of them. The interface enables students to produce live-generated spectrograms, re-recording until their produc- tions both sound and look like the native output. Recordings and student data are automatically submitted to an instructor interface that allows for effortless monitoring of students’ progress. This interface was originally developed for Spanish and has been extended to English and Quechua, with the eventual goal being applied to many languages. For this capstone project, students will be required to participate in the design, implementation and testing of a mobile app and advance the current web-based platform with a cloud-based system (via Serverless technology) for rapid and scalable language feedback processing.


A Web-based Tool for Drawing Concept Maps in Biology

Organization: SLU Biology
Client: Dr. Elena Bray-Speth <elena.brayspeth@slu.edu>
Supervisor: Dr. David Letscher
Description:
In introductory biology classes, students are asked to create graphical concept maps to describe various systems. Currently, the students create these diagrams on paper, by hand, including starting again when later revisions are submitted. The goal is to have a web-based system to: allow students to create, edit, and submit such diagrams electronically; allow for instructors and teaching assistants to provide feedback within the system; allow educational researchers to perform analysis of students' works.

In a previous year's capstone project, CS students created an initial proof-of-concept, developing both drawing capabilities and a system with both student and instructor roles. That system was implemented using a MEAN stack, yet on a monolithic system. The goal for this new capstone team will include: to redeploy such a system on a true multi-tier architecture, with separate web, database, and authentication servers; to make improvements to the overall usability of the core systems; to support a test user group and to prepare for a pilot group of actual biology students.


Tablet App for NICU "Code Sheet"

Organization: Cardinal Glennon Children's Hospital
Client: Dr. Christopher Brownsworth <christopher.brownsworth@health.slu.edu>
Supervisor: tbd
Description:
We would like to design a tablet application to function as a "code sheet." Basically, when a baby is first born or requires CPR (in medical terms "codes"), one person's job is to record the events and interventions. Currently, this information is scribbled on the back of a napkin or scrap piece of paper. Typically, this record is less than legible and has to be copied into the medical record. We want to make an application that 1) makes it easy to record the events, 2) easy to export into the medical record 3) simple to analyze the information. I have sketched out the design and functionality. There are no similar applications available for this. This could be expanded from the NICU into adults and pediatric populations.


Medical Education Project

Organization: Cardinal Glennon Children's Hospital
Client: Dr. Christopher Brownsworth <christopher.brownsworth@health.slu.edu>
Supervisor: tbd
Description:
Much of medical education is still conveyed through classroom didactics and books/paper/ online material. Use of mobile devices has skyrocketed over the last 10 years; however medical education as a whole has not embraced mobile devices as a way to teach medicine; We are currently conducting a randomized controlled trial to determine if texting medical students daily medical question/answers can foster learning and improve performance on national standardized testing. We are limited on the information we can convey through text messaging due to the character limit. We are wanting to build a platform for delivering question/answer style questions to students, both online and mobile devices. This is envisioned as a platform where "classes" containing question/answer style information can be created and then students can subscribe to the class and receive the questions either daily or in block. The system will then create an answer report breaking down the statistics.


Advanced Data Editor

Organization: SLU's Walter J. Ong, S.J. Center for Digital Humanitites
Client: Donal Hegarty <donal.hegarty@slu.edu>
Supervisor: tbd
Description:
The IIIF (iiif.io) standard allows discovery and sharing of datasets. The underlying data format is JSON and the IIIF standard defines what must or should be a part of the object to make it a valid IIIF object. The Walter J. Ong, S.J. Center for Digital Humanities has a data repository for these IIIF objects called RERUM. RERUM has a web facing interface (rerum.io) through which various tools interact with these IIIF data objects in the repository. One of the goals of the site is to offer a robust and user friendly IIIF Manifest editor through which the rules of JSON and the IIIF Presentation API will be enforced while a user creates and/or alters IIIF objects for the RERUM data store. The RERUM interface is written with HTML, CSS and AngularJS which are the languages that must be used to complete this task. A successful implementation of the editor would be immediately incorporated into the RERUM tool set for public use.


Image Analysis for Paleographic Study

Organization: SLU's Walter J. Ong, S.J. Center for Digital Humanitites
Client: Donal Hegarty <donal.hegarty@slu.edu>
Supervisor: tbd
Description:
Beneath the transcription interface at t-pen.org, is a simple image analysis tool which endeavors to cleanly bound the columns and rows of handwriting on images of manuscript leaves to enable line by line transcription by our users. The goal of this project would be both to improve on the existing algorithm and offer the analysis as a stand-alone public service. The existing code in written in Java and may be optimized or replaced. A proposal to port the library into another language for better performance or more flexibility as a web service would also fulfill our goals. Support will be offered from the full-time developers in the Walter J. Ong, S.J. Center for Digital Humanities who have worked with the original T-PEN project and code. Sample image sets will be provided; no paleographical knowledge is required. A successful service will be incorporated into the existing and next versions of the T-PEN transcription tool and the public service will be published for use to the academic communities around manuscript studies and images standards for Digital Humanities.


Image Realignment for Published Manuscripts

Organization: SLU's Walter J. Ong, S.J. Center for Digital Humanitites
Client: Donal Hegarty <donal.hegarty@slu.edu>
Supervisor: tbd
Description:
Millions of images are made available to scholars through the IIIF (iiif.io) standard and are organized into virtual containers (Manifests) by the hosting repositories. For close study of the text, scholars often need to crop out surrounding support materials (rulers, color bars, labels), rotate images, split images (of two-page layouts, for example), and discard uninteresting leaves. Currently, these adjustments cannot be saved for personal use or publication. The Walter J. Ong, S.J. Center for Digital Humanities builds tools for scholars and developers who wish to interact with these materials and would like to add this one. With the support of the Center’s full-time development staff, this project balances UI/UX development for simple user input with implementation of API and standards. Changes users make will be saved to a public digital object repository (RERUM.io) and the Manifest which has been augmented will be notified through Linked Data Notification (inbox-docs.rerum.io). The successful project will be immediately rolled out to an international community of users and be made available to the 2000 scholars currently transcribing on t-pen.org. No experience with manuscripts is required, but comfort with HTML, CSS, and JavaScript (including AJAX) is.


Supporting Fréchet Distance in CGAL

Organization: SLU CS
Supervisor: Dr. Erin Chambers
Description:
The Fréchet distance is a fundamental similarity measure on curves in computational geometry. This project proposes adding Fréchet distance computations to the Computational Geometry Algorithms Library (CGAL), which is one of the largest open source geometry toolsets available. It is expected that the first semester would be spent understanding an available python implementation of Fréchet algorithms in 2d and 3d, as well as installing and becoming comfortable with CGAL, while 2nd semester would be spent in actual code development, including communicating and working with researchers at the CGAL project.


Financial Risk Management with Apache Spark

Organization: SLU CS
Supervisor: Dr. Ted Ahn
Description:
Value at Risk (VaR) has been widely adopted in the financial industry to measure risk. It is used for regulatory compliance, understanding the risk characteristics of large portfolios, and and making informed trading decisions. Three common methods of calculating Value at Risk are variance-covariance, historical simulation, and Monte Carlo simulation. Monte Carlo simulation can be more accurate than the simple models, but it requires more computational power. Fortunately, Apache Spark provides an easy way to scale statistical problems beyond what a single server can handle. Using Spark and historical stock data, we will calculate VaR of stocks with Monte Carlo Simulation in less time.


Very Low Latency Real-Time Computation

Organization: SLU CS
Supervisor: Dr. David Ferry
Description:
Current parallel programming technologies do not provide any guarantee of the latency with which a computation will execute. Existing concurrency platforms allow programmers to do parallel programming without worrying about thread creation or CPU management through simple directives such as parallel for loops, fork/join semantics, etc. These platforms were typically designed for large scientific computations where high-throughput is paramount and specific program timing and latency is not a concern, so the techniques employed in their construction do not typically guarantee any worst-case behavior. Recent applications of parallel computing techniques to real-time control motivate the creation of a new parallel concurrency platform with simple and demonstrable timing characteristics. This project will first characterize the latency cost when existing concurrency platforms (OpenMP and Cilk Plus) activate threads and distribute work during execution of a program. Then, we will create one or more archetype concurrency platforms and measure the latency incurred in simple and observable systems. This project will be done in C/C++ on Linux. Prior experience with parallel programming or program timing is not required.


Power-aware Control on the Raspberry Pi for UAV control

Organization: SLU CS + Aerospace
Client: Dr. Srikanth Gururajan <srikanth.gururajan@slu.edu>
Supervisor: Dr. David Ferry
Description:
Battery power represents a hard constraint on the operational lifetime of embedded systems, and power is a particular a concern for compute-intensive applications such as control algorithms that typically execute tens to thousands of times per second. The Raspberry Pi provides an attractive computational package for embedded devices needing to run a full-featured operating system (i.e. Linux), and is capable of being powered via battery for mobile or remote applications (e.g. aerial drones). When performance of a system must be guaranteed it is critical for the software system to be able to understand the available power resources and use them wisely. This project, in conjunction with Dr. Srikanth Gururajan of the Department of Aeronautical Engineering, seeks to characterize the Raspberry Pi for the purpose of performing control computations in unmanned autonomous aircraft. In particular it seeks to (1) measure the power consumption of the Raspberry Pi under typical workloads, (2) develop a cost model capable of predicting how much energy will be consumed by a computation before it occurs, and (3) create a software architecture that allows the system to dynamically trade off power consumption and system control performance in scenarios where mission objectives or system constraints may change during runtime. It is anticipated that this project will be done primarily in C or C++ on Linux. Prior experience with power monitoring or similar applications is not required.


Multi-User Virtual Reality Interface for Control of Aerial Drones

Organization: SLU CS + Aerospace
Client: Dr. Srikanth Gururajan <srikanth.gururajan@slu.edu>
Supervisor: Dr. David Ferry
Description:
Multiple users interacting with multiple drones inside a Virtual Reality (VR) environment presents a novel set of challenges in control, coordination, and system integration. This project builds upon a single-user prototype VR control system completed as a senior capstone last year, and aims to extend the functionality to a multi-user interface that allows two or more operators with VR headsets and input devices to cooperatively command multiple aerial drones while maintaining safe flight.

This project, in conjunction with Dr. Srikanth Gururajan of the Department of Aeronautical Engineering, will involve modifying existing software to support the notion of multiple users, as well as dealing with complications that arise such as networking, coordination between VR interfaces over a (potentially unreliable) network, flight path deconfliction, collision advoidance, etc. It is also hoped to implement additional features such as refined flight control software and long-distance radios that will enable drones in the cage near the Olive parking garage to be flown from Srikanth's lab in McDonnel Douglass Hall.

This is a multi-system-integration project that will require work across Windows, Linux, and various programming languages. Previous experience with aerial drone hardware or VR is not required.


Collaborative Telepathology

Organization: SLU Medicine
Client: Dr. Grant Kolar
Supervisor: Dr. Flavio Esposito
Description:
Telepathology is the practice of digitizing histological or macroscopic tissue images based on a glass slide for transmission along telecommunication pathways for diagnosis, consultation, or continuing medical education. In the majority of non-trivial pathology cases, to minimize the response time to the surgeon and the probability of incorrect assessments, pathologists ask for second opinions from nearby experts (if available) by physically carrying glass specimens. Especially to complement underserved geographical areas, expert pathologists should have remote access to difficult case assessments via telepathology. Today however, telepathology is practically unused for the applications that would need it the most: fast and reliable consultations as well as multi-students live teaching sessions. Moreover, pathology is nowadays mostly taught via offline methods or via one-to-one mentor-student specimen analysis. Remotely recreating the effect of a microscope locally handled would allow multiple pathologies across federated sites to collaborate on non-trivial diagnoses. Best-effort Internet connections are simply not enough to support such applications.

Students in this project will focus on the following aspects of Internet of Things applied to Telepathology systems:


Reunifying children with their legal guardians after (natural or man-made) disaster using serverless computing

Organization: SLU Medicine, Cardinal Glennon Children's Hospital
Client: Dr. Rachel Charney
Supervisor: Dr. Flavio Esposito
Description:
During a disaster, children may be quickly wrenched from their families. Research shows that children in such circumstances are often unable or unwilling to give their names or other identifying information. Children constitute a vulnerable population and special considerations are necessary in order to provide proper care for them during disasters. After disasters such as Hurricane Katrina, the rapid identification and protection of separated children and their reunification with legal guardians is necessary to minimize secondary injuries (i.e. physical and sexual abuse, neglect and abduction). At Camp Gruber, an Oklahoma shelter for Louisianan’s displaced by Hurricane Katrina, of the 254 children at the camp, 36 (14.2%) were separated from their legal guardians. It took 6 months to reunify the last children, while 70% of the children were with their legal guardian after 2 weeks. Imagine not knowing for 2 weeks (or 6 months) if your children are dead or alive! In this project, you will use serverless computing and other technologies to design and develop software that will be used by first-responders to minimize children reunifying time.

The goal of this project is to contribute towards a prototype for a scalable, federated, public health infrastructure that would exploits text and image-based analysis to effectively expedite reunification when children cannot be identified. To this aim, students will design and implement both a front-end, web- based platform to support a back-end system for text and image recognition, in which the computations will be offloaded to a serverless platform. Note that software for image recognition already exist. The first challenge is to integrate them with serverless computing platforms for a fast and scalable platform. Aside from the system integration, the novelty of this project lays on the design of a novel (children) profile matching recognition algorithm based on text or images available, as well as in testing the scalability of such matching operations offloaded to the serverless cloud platform.


An Online Gaming App Using Haptics to Teach STEM Concepts

Organization: SLU Mechanical Engineering
Client: Dr. Jenna Gorlewicz
Supervisor: Dr. Flavio Esposito
Description:
Hands-on learning experiences have been shown to help students better understand challenging concepts, particularly those in STEM (Science, Technology, Engineering, and Math). While laboratories are often one avenue by which students receive hands-on learning experiences, these are often discrete opportunities that only occur in a classroom environment. This project involves building a mobile app (game) that would allow users to have hands-on learning experiences using their phone or tablet. The mobile app would interact with the Hapkit (to be ordered online, and be built), which contains all of the hardware for building a haptic paddle. (See hapkit.stanford.edu.) The haptic paddle is a force feedback joystick that enables users to "feel" what is being displayed on screen. As the paddle handle moves, digital elements move, and in turn, send feedback (via a Cloud-based system) back to the user (players) through the paddle handle, creating a force-feedback system. One of the exciting challenges lays in the force feedback being variable based on the medium (e.g. if users are pushing through water versus pushing on a slippery surface versus pushing through molasses). The (web or mobile) app will provide an example of a hands-on learning experience that could be made available to students at multiple levels, without requiring large infrastructure such as a university lab.


Whack a Mole: A Risk Minimization Approach to Moving Target Defense in the Cloud

Organization: SLU CS
Supervisor: Dr. Flavio Esposito
Description:
Have you ever played the game Whack a Mole? If not, you can try different versions here. This project is about emulating the game between an attacker and tenants of a cloud provider, renting virtual machines. Cloud providers migrate their tenants around (moles) to confuse a potential attacker. The more you stay out, the higher the chances to get "whacked", but the more you move around, the higher are the overhead costs and disruptions. There are several types of attacks that can be performed if you are collocated on the same physical machine of the victim. For example, with side-channel attacks you could steal sensitive information just by observing a virtual machine writing behavior. For example, when is the attacked VM writing on the memory, or by observing power consumption and electromagnetic leaks. Even a sound can provide an extra source of information, which can be exploited to break the system. (See here.) Students are required to design and implement a moving target defense strategy (the algorithmic behavior of the mole attempting to minimize the probability of being "whacked"), migrating real virtual machines with Linux KVM, a virtual machine management framework. Larger groups may work in competing sub-teams, emulating the behavior of an attacker trying to learn the mole strategy (using machine learning techniques).


Evaluation of Machine Translation Approaches for Closely-related Languages

Organization: SLU CS
Supervisor: Dr. Kevin Scannell
Description:
This would involve training a number of MT engines, including phrase-based models like Moses and, say, character-based models using RNNs (TensorFlow) which could possibly work well for very closely-related languages. I have data for the Gaelic languages and for Irish language standardization. Other pairs are possible: Zulu/Xhosa?


Reboot of Accentuate.us

Organization: SLU CS
Supervisor: Dr. Kevin Scannell
Description:
In a capstone project from many years ago, a student developed a web-based platform (previously hosted at accentuate.us) along with a corresponding firefox add-on. Its purpose was to use machine learning to automatically restore diacritics when entering ASCII-only texts, to make it quicker and easier to type in more than 100 world languages without extra keystrokes or a special keyboard. That service is no longer active and there were scaling challenges since the statistical models needed to be stored in RAM and this limited the number of languages that could be supported. With this project, a team will rely on more modern approaches to scalability to revive and extend the original tools.


Spellchecker Development

Organization: SLU CS
Supervisor: Dr. Kevin Scannell
Description:
Dr. Scannell has raw data consisting of word lists crawled from the web for 2000+ languages. It would be nice to have a website which could allow a language community to crowdsource the editing (voting, etc.) of these wordlists to turn them into spell checkers. Part of this would be an interactive tool for developing so-called "affix files", without having to be trained on the technical details, and also a tool for exporting spellchecking addons for LibreOffice, Firefox, etc. automatically.


Self-contained Search Engine Solution for Irish Language Websites

Organization: SLU CS
Supervisor: Dr. Kevin Scannell
Description:
The idea would be to build this on top of existing open source search engines like Apache Lucene, or anything derived from Lucene (Elastic Search, Solr, ...). The issue is to allow indexing according to eight possible combinations of (standard/non-standard, mutations/stripped, stemmed/unstemmed), using software developed by Dr. Scannell, and to package the result in a way that's trivial for site maintainers to deploy.


Syntax-aware Machine Translation of English into VSO Languages

Organization: SLU CS
Supervisor: Dr. Kevin Scannell
Description:
There are various open source packages for doing syntax-aware statistical MT; maybe the most promising in this context would be an approach based on tree-to-string transducers, like "travatar".


SLUber: Technology improvements for the SLU Ride operations

Organization: SLU Ride
Client: tbd
Supervisor: tbd
Description:
The SLU Ride Program is a primarily student-run operation that provide safe escorts around campus and the surrounding area. It currently operates in relatively low-tech way. Technological improvements might involve providing web-based and mobile apps for initiating requests for escorts, providing automation to dispatchers to better optimize the movement of the escorts/vehicles in servicing calls, and a feedback loop that would provide clients with updates regarding wait times and locations.


Games (tbd)

Organization: none
Supervisor: tbd
Description:
There have been several suggestions from students who wish to develop computer games as a project, likely within the Unity framework. While I prefer projects that fill a need for a client, and thus which involve working with such an end user to define/revise project requirements, I'm adding this to the preference list so that I can at least gauge the level of interest and whether to "green light" such a project.


Michael Goldwasser
Capstone Project, Fall 2017
Last modified: Friday, 01 September 2017
Course Home | Forms | Project Ideas