SDL Projects for 2019-2020

There are three instructors in Fall, 2019. A few of the following projects are assigned to a specific instructor, but others will be determined based on interest. Continuing projects include both those under current development and ones that were developed in the past. In some cases the technology is specified, but in others the team can help pick the technology with the product owner's approval.

Projects are in alphabetical order and numbered for convenience:

1. AboutTime for GitLab

PO: Dr. Chris Taylor

Continuing project: You have probably used the AboutTime system built around Atlassian products. We are also starting to use GitLab for projects at MSOE, and need a time reporting system for this platform. A team developed a core version of this in 2019-20; it needs additional functionality such as tools to identify errors in time logs and ways to generate preliminary reports. This is a web project with a React front-end and a node.js backend.

This project is currently not running for 2019-20.

2. Sport Fishing Event Collection App

New project: a large sports fishing organization needs an application to support collecting results from major events. Long-term plans include collecting key data from images of the fish after they are caught.

Instructor: Dr. Magaña.

3. CTS Consulting Dashboard

PO: Andrew Roberts

New project: The project would be a company-wide mobile-friendly reporting dashboard used to define and track budgetary needs. Analysis and reports would be run by the owners of the firm to help visualize various metrics, such as hours billed for clients, what projects were billed to for those clients, etc, in order to make more informed business decisions. This would be implemented through a full-stack responsive web application hosted on Amazon's AWS service. Suggested technologies are a ReactJS frontend talking to a .NET Core backend, but student suggestions are welcome. Students would be free to determine their own data-model as long as it adheres to the requirements of the business.

Instructor: Dr. Magaña.

4. eSubmit improvements

PO: Dr. Rob Hasker

Continuing project: Previous SDL students have built a system that allows students to submit their solutions to programming assignments and learn if the solutions pass all of the tests set up by the instructor. This helps students be more sure if their solution is working and dramatically simplifies grading for instructors. The system is in use, but needs additional functionality to be more useful. In particular, we would like to add support for submitting through a Git repository and add tools to speed up grading so students can get faster feedback. This system is developed using Ruby on Rails.

Instructor: Dr. Yoder

5. FIRST Robotics Engineering Notebook App

PO: Mark Keup of Cognex

New project: A challenge FIRST teams must address is documenting their work in an engineering notebook. The students are more interested in building than documenting, so the documentation method needs to be very easy to use. A Windows desktop program has been developed that allows students to upload pictures and write a few words with each, but it would be far more effective to have a phone app that would allow a student to capture key decisions in pictures and words. This project is to develop that app.

See here for a sample notebook generated by the current system.

Instructor: Dr. Hasker

6. Guided Retrospective Tool

PO: jkschanke@gmail.com (Centare)

New project: When working in scrum, facilitating retrospectives can be difficult if no one on the team is experienced with it, or even harder, if it is a remote team. Creating a web application to guide retrospectives to guide the team through the retrospective, gather data, and create action items would be valuable for many scrum teams. Possible retrospective formats would include the standard 3 questions or potentially more involved formats like those on https://retromat.org/.

This project is currently not running for 2019-20.

7. Interactive Lecturer

PO: Dr. Walt Schilling

Continuing project: Previous SDL teams developed a system to display presentations in the classroom. Instructors can upload and present slide decks and add hand-written notes to the deck while presenting. This replaces commercial products that are no longer available. The current version of the system provides useful core features, but additional work is needed. The system is written in C#.

Instructor: Dr. Magaña

8. Magnetek: Elevator Drive Setting Support

Continuing project: Magnetek (http://www.magnetek.com/) is a leading developer of elevator drives. If you have ridden the elevator in the Willis (Sears) Tower in Chicago, you have experienced their equipment. The operation of modern elevators is defined by approximately 200 parameters. Technicians must use a PC to change those settings. Previous SDL teams have developed phone apps to allow technicians to view the parameters and transmit them to a central site. A number of new features are needed for the system including displaying information in the style of an oscilloscope.

Instructor: Dr. Hasker

9. PFNF Simulator for Medical College of Wisconsin

PO: Dr. Joseph Schwab

A simulator has been developed to train orthopedic residents on "percutaneous femoral neck fixation" - a procedure in which the surgeon drills into a patient's hip to repair fractures. Existing simulators are very expensive; this simulator can be constructed from wood and plastic. The basic idea is that a resident would drill into plastic and then cameras would be used to provide feedback. A very high level prototype has been developed; the goal of the project would be to produce a more useful version. This would likely be a Python project and would involve GUI development along with image processing.

Click here for an illustration showing the sorts of images you would process.

Instructor: Dr. Yoder

10. Pinball Your Way!

PO: Jason Mazurek of Centare

New project: Pinball machines are as popular today as ever! Modern machines have rules that range from super complicated and deep, to straight-forward and simple. Sometimes, those rules are never fully finished; leaving pieces of the game unused. Hardware has been developed that can be added to a machine, allowing a developer to write their own rules using modern programming languages. This project will give a team the chance to implement entirely new rules to a pinball machine and decide how a player will beat the game. Design modes, rules, scoring, and more -- all while conveying that information back to the player and what to accomplish next -- while using and testing on a real pinball machine.

Instructor: Dr. Yoder

11. RCAS Scheduler Website

PO: Michael Hinder, MSOE

Continuing project: A previous SDL team developed the highly successful website that students use to arrange tutoring on campus. This tool has had dramatic impacts; a large percentage of students on campus use some form of tutoring services. The tool is essential for RCAS operations. After using the tool for two years, RCAS has identified a number of improvements to be made, including redesigning existing components and adding new features. This is a Ruby on Rails project that is deployed on AWS.

Instructor: Dr. Hasker

12. Schedule Evaluation Tool - MSOE

PO: Dr. Chris Taylor or Dr. Steve Williams

New project: Before the schedule of classes is released to students, it needs to evaluated for scheduling robustness. We want to identify ahead of time if the proposed schedule will make it difficult for students with later registration times to be able to register for all of the classes they need. The department currently relies on ad hoc approaches. We would like a software tool that could help validate the proposed schedule of classes and identify potential weak points. A significant part of this project will be understanding the problem domain in order to develop useful tools to help in this evaluation.

Instructor: Dr. Yoder

13. Shadowrun Character & Play Assistant

PO: Scott Sauer of Centare

New project: Shadowrun is an extremely fun, though complicated, tabletop gaming system. While some of its competitors come with a host of electronic tools that can make the process of playing the game easier, Shadowrun's is inadequate. The best solution that currently exists is a winforms app (called "Chummer") that is laden with bugs, poor UI decisions and archaic design. The purpose of this project is to rewrite it to be accessible via the web, make it a reliable utility to use and maintain, and expand its capabilities to help with some of the other aspects of the game that currently are not covered.

Instructor: Dr. Hasker

14. Up-cycling Network for Makerspace

PO: Pete Reynolds

Continuing project: Up-Cycle Makerspace is about connecting schools and industry together in a mutually beneficial network to make sure no material goes to waste. Businesses often have leftover material that they don't need, and school tech classes and community makerspaces are in desperate need of extra material. This project provides a network to gather, store, and exchange material, tools, and knowledge between organizations so that everyone can get access to the things they need. Much of the system is developed; the focus for 2019-20 would be computing the front-end for the resource network. The front end web app is built in React with NodeJS, and connects to a Django backend through a GraphQL API.

Instructor: Dr. Hasker

15. Virtual ADHD Coach, Chip Pieper of ADHD America

New project: Attention Deficit Hyperactivity Disorder is treatable with medication, but the medication often has strong side-effects. A smartphone app is needed that allows patients to record responses to key questions throughout the day so that medical staff can fine tune treatment methods. The technology stack for this app has yet to be determined. Such an app has the potential of improving the lives of millions of school-age children. It could have a particular impact on children from low-income families who must manage a very expensive disorder with limited resources.

Instructor: Dr. Magaña