SDL Potential Projects for 2023-2024

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.

1. About Time 3.0

PO: Dr. James Lembke, MSOE

New project: For several years we have used a student-developed system to capture time from GitLab. That version is sunsetting because of changes in APIs and other subsystems. This tool is very helpful when running courses such as Software Process and Software Development Lab on GitLab. This will be a fresh implementation. The platform and development language will be determined with input from the team.

2. Canvas Sample Work Capture System

PO: Dr. Josiah Yoder, MSOE

New 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. Currently, faculty using Canvas must manually capture sample work. This takes a lot of time. We would like to improve productivity by developing a tool to automate the capture of sample material from Canvas. Such a tool could save significant amounts of time for many faculty on campus. It would be based on the Canvas API; the development language and platform would be determined by the product owner and student team.

3. Final Exam Scheduling Tool (FEST)

PO: Dr. Chris Taylor, MSOE

Continuing project: A preliminary tool to schedule final exams has been developed in 2022-23, but additional features are needed. This tool allows the registrar's office to build a final exam schedule that meets a wide variety of constraints, minimizing scheduling issues for students during finals week. New functionality is needed; for example, providing more assistance with addressing scheduling conflicts. This project uses Python with Flask for the back end and React and Redux in the front end.

4. Financial Literacy Tutor

PO: Alum Tyler Gottlieb

New 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. A prototype training application has been developed and used by a community in Honduras, but a more robust version is needed for general deployment. The technology for this has yet to be chosen, but the assumption is that it will need to be available to phone users with limited access to the internet.

5. Library Textbook Connection

PO: Elizabeth Jerow, MSOE Library

Continuing project: Previous students have developed a system used to the library that allows students to request textbooks from a special collection maintained by the library and donated by students. The system needs new features including the ability to send emails to students about updates on their loans. The project is managed in Microsoft Azure, with Azure SQL database, JWT, ReactJS, and C#.

6. Mixed Beverage Helper

PO: Alum Sydney Park

New project: The pandemic raised interest in mixing drinks at home, whether alcoholic or non-alcoholic. The goal of this project is to develop software that would make the drink making process 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. This project would be to develop a system that allows the user full control of their data while simplifying the workflow of selecting a recipe. The technology for this has yet to be determined, but it could be a website, a phone app, or a program running on a laptop. The intent is to distribute this as an open-source system.

7. Progressive Learning Platform

PO: Prof. Sean Jones, MSOE

New 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. Starting from an existing partial implementation written in Java, the team will build out the full instruction set, develop a JavaFX-based GUI, and develop a command-line interface. This project has the potential of impacting many students who study assembly programming.

8. Project Apollo Learning Software

PO: Dr. Josiah Yoder, MSOE

Continuing project: This project works with course videos on VidGrid, allowing students to take notes in real time and allowing both the notes and transcript to be searched. This system could be very useful to MSOE students in hybrid and flipped courses. It also contains components that could be useful to students with disabilities. The system needs to be deployed, extended to work with additional types of video such as YouTube, and have additional features added. This is a Microsoft Azure project.

9. Scot Forge Product Engineering System

PO: Dave Fallon, Scot Forge

New project: Scot Forge is a product engineering company that designs and forges products using advance technology. The current engineering system they use is written in "green screen" Basic, and the goal of this project will be 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. The technology stack has yet to be determined.