Saint Louis University
Dept. of Computer Science

Computer Science 4961/4962
Capstone Project

Spring 2018


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 Monday, January 22, 2018 , so if you wish to suggest another project idea for consideration, such a suggestion must be provided by classtime on 3:00pm Friday, January 19, 2018. 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. Medical Education Project
  2. Advanced Data Editor
  3. Image Realignment for Published Manuscripts
  4. Collaborative Telepathology
  5. Tactile Internet: Remote Touching is Possible!
  6. An Online Gaming App Using Haptics to Teach STEM Concepts
  7. Whack a Mole: A Risk Minimization Approach to Moving Target Defense in the Cloud
  8. Evaluation of Machine Translation Approaches for Closely-related Languages
  9. Reboot of Accentuate.us
  10. Spellchecker Development
  11. Self-contained Search Engine Solution for Irish Language Websites
  12. Syntax-aware Machine Translation of English into VSO Languages
  13. Library Book Finder
  14. At-home distributed computing
  15. Registrar Data Entry Tool
  16. Registration Chatbot

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 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.


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:


Tactile Internet: Remote Touching is Possible!

Organization: SLU Mechanical Engineering
Client: Dr. Jenna Gorlewicz
Supervisor: Dr. Flavio Esposito
Description:
Haptic devices enable users to physically interact with virtual systems via force-feedback. In this project, depending on skills and interests, students will be required to connect two GeoMagic Touch Haptic devices and control their interaction via a web interface or via an (Android or iOS) App. Applications of this technology range from online gaming, to military or (healthcare) education.


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".


Registrar Data Entry Tool

Organization: SLU Registrar
Client: Jay Haugen
Supervisor: TBD
Description:
The Registrar's office would like a tool that is capable of automating data entry into graphical user interface forms to reduce time-consuming data entry tasks. Users will be able to upload text-delimited files containing a set of desired data entry tasks, and the tool should be capable of automatically applying these changes. This tool should also be capable of capturing responses and sending any discrepancies or errors to an operator.


Registration Chatbot

Organization: SLU Registrar
Client: Jay Haugen
Supervisor: TBD
Description:
The Registrar's office would like a natural-language based tool to assist students in planning and managing their schedule. Students should be able to phrase questions such as "When is calculus offered in the Fall?", "What history classes are available at 10AM MWF?", or "How many seats are left in Geophysics?" and recieve an accurate response. With a student login the system should be able to answer questions about the student's schedule such as, "Where is my history class meeting?".


Library Book Finder

Organization: SLU CS
Client: The library, hopefully
Supervisor: TBD
Description:
A student-proposed project would like to create a book-finding utility to assist patrons in using the library. The basic functionality is to translate book call numbers into physical book locations in the library, which may be given as aisle, position in aisle, or even particular shelves. Accompanying this utility would be a maintainer backend so that book positions may be updated as their locations change within the library. A desired advanced feature is a map showing the patron's current position within the library and a path to their target. Part of this project will be to identify (with the help of the instructor or supervisor) stakeholders in the library who might want to use or maintain this system.


At-home Distributed Computing

Organization: SLU CS
Supervisor: TBD
Description:
This student-proposed project would like to create a system to utilize heterogenous sources of computing found within the home. Many computing resources spend much of their time idling with no useful work: desktops, laptops, smartphones, tablets, etc. In this project, students would create a software system that allows devices to opt-in to a local distributed computational network, such that when certain constraints are met (e.g. not being used, plugged in) they may be asked to perform computational work on behalf of another device to accelerate a local computation. In order to be efficient and effective this system would need to be aware of limitations and strengths of different devices in the network, as well as the expected latency of outsourcing a particular piece of work. To be correct this system would need to be aware of devices joining and leaving the network at arbitrary times, and maintain operation under all circumstances. In addition to building a system for sending and recieving work to other devices, students would need to define a software interface for accessing this functionality. Advanced features could include system-wide encryption, or support for targeting specific heterogenous computing resources (e.g. GPUs).