SDL Potential Projects for 2024-2025

There are two Software Development Lab instructors for next year. Some 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.

We will send a survey to all students who are likely to take SDL in the fall. The students will rank the projects by order of interest; instructors will form the teams based on the interests. We are generally able to place everyone in one of their top choices, but this is not always possible. If a student does not rank projects, then that student will be assigned to whatever team has open positions. You will work on the project for a year, so it is important that you express your interests.

Do not worry if a project uses a technology that you are not familiar with. You will have time to learn it, and in fact learning new technologies is one of the good things about SDL!

1. About Time 3.0

PO: Dr. James Lembke, MSOE

Continuing project: A AY24 team developed an updated tool to report on time for GitLab projects. This information is helpful to teams and instructors, saving everyone a lot of time reading through logs and adding up time manually. Additional features are needed such as auto-generating status reports and identifying time logging errors. Such features will be very useful for teaching project-based courses. This is a web-based project based on React and MongoDB.

2. Canvas Sample Work Capture System

PO: TBD, a professor in CS/SE

Continuing project: When accreditors come to campus to evaluate our programs, they need sample work from key courses. Sample work is also a key part of faculty reviews and promotion evaluation. The AY24 team has developed a basic version. This is a big improvement over the old method, capturing sample work from each assignment manually. However, additional features are needed, especially features to extract information from "new" quizzes. We are also interested in adding features that would make the tool useful for students. This is a Typescript project using NodeJS and the Canvas API.

3. Financial Literacy Tutor

PO: Alum Tyler Gottlieb, in collaboration with Dr. Patrick Jung

Continuing Project: The goal of this project is to develop training software for improving financial literacy - for example, budgeting, saving, borrowing, and investing - among people around the world. Research has shown that improving financial literacy helps reduce poverty. The AY24 team developed a basic game to help teach users the basics of financial literacy; the AY25 team will develop the game further and build additional tools needed to support classrooms. This is a React Native project targeted to both iOS and Android.

4. Mixed Beverage Helper

PO: Alum Sydney Park

Continuing project: The pandemic raised interest in mixing drinks at home, whether alcoholic or non-alcoholic. The AY24 team has developed a core system to help making drinks easier by suggesting recipes based on the ingredients you currently have stocked, the flavor profile you are in the mood for, or even both at once. Existing recipe systems online typically require you to publish the recipes, and this may not be possible if they come from a copywritten work. A key differentiator of this project is that it is designed to give the user full control of their data while simplifying the workflow of selecting a recipe. This project uses NodeJS with a MySQL database. The eventual goal is to distribute this project as an open-source system.

5. OpComp Web App

PO: Dr. Rob Hasker

Continuing project: The OpComp web application supports a high school programming contest that is held on campus every fall. Previous teams developed a system that allows posting problems statements, submitting solutions, and giving feedback on those solutions. However, the system failed during the contest in Fall, 2023, likely because of a simple programming mistake. This is easily corrected, but we need to extend the testing environment to ensure this does not happen again, simplify deployment, provide tools to recover from failures, and add new auto-grading features. Such improvements will enable us to support more teams during the contest so we can have greater participation. This is a very visible tool and is a great opportunity to show what MSOE students can accomplish! The site is developed in Angular with Typescript.

6. Progressive Learning Platform

PO: Dr. Sohoni, MSOE

Continuing project: This project is to develop a assembly language training tool. Students will use it to write, assemble, debug, run, and visualize programs in the PLP assembly language through a custom Integrated Development Environment. The intent is to be an improvement on MARS. Previous teams have built a JavaFX-based GUI system, and the AY25 team will add additional features. This project has the potential of impacting many students who study assembly programming.

7. Project Apollo Learning Software

PO: TBD

Continuing project: The AY24 team has developed a system that facilitates using YouTube videos in courses. This system allows students to take notes in real time and simplifies searching for key portions of videos. A previous team developed a version based on videos in VidGrid, but this system no longer works because of changes in the campus environment. The AY25 team will provide support for VidGrid videos and other features. This system would be very useful to MSOE students in hybrid and flipped courses. It also contains components that could be useful to students with disabilities. This is a JavaScript/React project.

8. RCAS Scheduler Website

PO: Michael Hinder, MSOE

Continuing project: Previous SDL teams 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. Since the website was displayed, RCAS has added a Success Allies program that they would like to be integrated. This would allow students to use the same website for both services. There is also a desire to migrate the system to Azure and integrate SSO. This is a Ruby on Rails project.

9. Scot Forge Product Engineering System

PO: Dave Fallon, Scot Forge

Continuing project: Scot Forge is a product engineering company that designs and forges metals using advance technology. The current engineering system they use is written in "green screen" Basic, and the goal of this project is to update this to a more modern framework and to add important new features. This system simulates manufacturing process plans with support for business operations. This is a multi-year project started in AY24 with many new requirements to be implemented. It is a Python-based web project using Flask and MongoDB.