Project 2: Choose a Project

Last Updated by A. Hornof on 2-13-2019 at 11:50AM.

The second project has two objectives:

Teams will have a choice of projects. Teams may either implement one of the suggested projects or propose a project of their own. In either case, the team must submit a project proposal to the instructor. The proposal should be in the form of a draft project document. Begin with a brief description (one page or less) characterizing the anticipated system capabilities from the user's perspective. In addition, the proposal should make the case for why the project will be an effective vehicle for demonstrating the team's understanding of Software Engineering concepts covered in class. A good project idea will include:

If you are considering several ideas, feel free to send me an e-mail if you would like my feedback.

Workout with Friends:

Fitness challenge app for portable device (phone, android, ipad, etc.). Users can create a circle of friends and compete in fitness activities (e.g., Crossfit challenges combining rowing, pullups, jumps, lifts, etc.). Can choose to compete by absolute score or (preferably) percentage improvements. Members can challenge friends to show they can do what they record (points transfer from loser to winner) or to do specific things. Additional ideas:

Real-time Response System

Being able to get real-time student feedback during class (e.g., answering a posted question) but I've had bd experiences with comercial systems. This project would begin to implement an open-source replacement for an in-class question/response system. While it is likely not possible to implement all of the features of a commerical product, it should be possible to provide basic facilities for asking and responding to questions in lecture. Ideally, the design would support easy extention to add different kinds of questions and support adding more suphisticated features. This project is large enough that it would support development by more than one team. For example, one team implementing the instructor interface and another the student (client) interface.

Project Team Sorting Hat

Feel like you got put in Siytherin but are a Hufflepuff at heart? Now you have a chance to build some software to fix the problem. Application, ideally, will do a better job than the instructor of creating project teams. Students fill out questionnaires on skills and preferences. Instructor defines sorting criteria and constraints (e.g., combining students with common programming language). The system would need to be secure against outside access of student information (quality requirement). Additional ideas:

Team Meeting Planner

This is a variation of the "better meeting planner" used by Prof. Michal Young in 399. Currently, it is difficult to identify open times that the CIS 422 instructor can meet with each team. Typically, this requires that the team members first identify when they can meet as a group, then try to find an open time to meeting with the instructor. A better Team Meeting Planner would consolidate team member schedules with open slots in the instructor's schedule to show all the times that would work for a meeting. Even better, the instructor's planner would show the times available for all of the different teams so the meetings could be scheduled efficiently (e.g., sequentially if possible). While synching with an app like Google calendar could be effective, a more imaginative approach that removes the complexities of calendar management might be better.

Acknowledgements

This project description was derived from work presented by Prof. Stuart Faulk.