SCORE Project Topics
Please note that the official list of project ideas and abstracts is given here, but some full project descriptions may not be posted until later in February 2015 — they will be posted as they are completed. If you're interested in a project that still lacks a full project description, please contact the project's sponsor directly to ask for details.
- DRisk: A Dynamically Configurable Risk Game
- Agile TweetViz: Agile Tweet Visualization
- mySOTD: My Shave of the Day
- StudentRecruiter: University Student Visit Management
- UmpleGame: A Distributed Game in Umple
- PhysioLib: A Library for Verifying Correctness of Physiotherapy Exercises
- Sana Modules: Contribute to an Open Source Medical System
- SE4YH: Smart Energy for Your Home
- Distributed Software Development: Team and Source Code Overview
- CodeCoach: Coaching Best Coding Practices
- DegreeOverview: A Course Definition System
- MeetMe: A Better Meeting Planner
DRisk: A Dynamically Configurable Risk Game
Risk is a turn-based board game, in which 2 to 6 players fight over
the occupation of 42 territories in a political map, trying to achieve
a secret mission that generally requires the control of the
territories in the map.
Risk has several known playability limitations. One such limitation is
that the map configuration is rigid, in the sense that both the number
of territories and the neighboring relation between territories (which
determines how the attacks between territories can be performed) are
fixed for all game instances. Another limitation is that the
granularity of the map (in particular, how many territories constitute
it) is also fixed, making some game instances very lengthy, especially
when a small number of players is involved.
The goal of this project is to develop a turn based client server Risk
game, in which users play the game through a web site, and that offers
high configurability, in particular: it allows users to define and
upload map configurations, including not only the aesthetic aspects
such as images, etc., but also specific numbers of territories and
neighboring relations (and optionally stronger restrictions on the
number of players); it allows for maps to automatically adjust
granularity, by collapsing neighboring territories according to number
of players and a user selected complexity for the game (e.g., easy,
medium, hard).
Sponsor: Nazareno Aguirre
Agile TweetViz: Agile Tweet Visualization
The popularity of social media has made Twitter (www.twitter.com) a reliable platform
for measuring social opinion. Unfortunately, giving a meaning to a
massive number of tweets is challenging, despite the significant
potential for measuring public opinion.
This project is about creating an agile Tweet visualization
engine. This engine should provide the ability to easily craft and
tailor visualizations of a possibly large number of tweets. Visual
patterns, emerging from the visualizations, will indicate facts.
Visualizations should provide a way to easily navigate and crawl over tweets.
Sponsor: Alexandre Bergel
mySOTD: My Shave of the Day
Every day, millions of men in the world remove their facial hair: for some this is a chore, for others it is a ritual. Wet shaving enthusiasts perform this ritual by using a combination of tools, ranging from hardware (shaving brush and razor) to software (shaving cream/soap and aftershave). The daily choice of these tools makes the SOTD (Shave of the Day), which is often shared online with other wet shavers. In this project, you will develop a mobile app that keeps track of the SOTDs of the user, as well as of his collection of tools.
Sponsor: Domenico Bianculli
StudentRecruiter: University Student Visit Management
For this project, develop a recruiting system for universities who manage the visits of high school students to their campus. This involves many stakeholders across many campus organizations (from administrative units to academic departments to room schedulers), and the coordination of many events and schedules (from large introductory sessions to individual department visits to career services to receptions). What sounds easy is actually very complicated!
Sponsor: Jeff Gray
UmpleGame: A Distributed Game in Umple
For this project your team will create a distributed multi-player game while exercising a maximum of features of the Umple modeling technology (www.umple.org). The goals of the project are: a) To demonstrate the power of Model Driven Development and Umple in software engineering; b) To uncover and help solve any issues with Umple in realistic projects.
Sponsor: Timothy Lethbridge
PhysioLib: A Library for Verifying Correctness of Physiotherapy Exercises
Patients affected by a spinal cord injury need rehabilitation to
prevent complications, promote recovery, and make the most of
remaining functions. The rehabilitation in all the spinal cord
injuries is a long-term process requiring regular ongoing exercise.
Among the different spinal cord injuries, we focus on paraplegia which
is a complete or partial paralysis of the lower half of the
body. Incorrect execution of physiotherapy exercises can have
disruptive consequences on the control of the core (body minus legs
and arms).
Recently, motion-based games have been used to assist patients during
the execution of their rehabilitation programs. Motion-based games
are fully controlled by the players’ movements that are captured
through sensors (e.g., gyroscopes, infrared cameras, body scanners)
provided by the game system. However, motion sensing input devices
available on the market (e.g., Wii, Kinect) are not equipped with
suitable software functionalities for controlling the execution of
correct movements by patients affected by spinal cord injuries.
The PhysioLib project aims at providing a software library for motion
sensing input devices able to recognise correct and wrong movements
performed by individuals affected by paraplegia. The teams are
required to acquire knowledge related to physiotherapy programs for
paraplegic people, with a particular focus on identifying typical
correct movements and potentially harmful ones. Developed libraries
will be evaluated through the development of a motion based game
exercising correct movements suggested by physiotherapy programs and
leveraging a motion sensing input device chosen by the team members.
Sponsors: Liliana Pasquale and Paola Spoletini
Sana Modules: Contribute to an Open Source Medical System
Sana is an open source system for medical records and workflow, with active deployments around the developing world (sana.mit.edu). Sana is still being developed and has various needs that can serve as SCORE projects.
Sponsor: Derek Rayside
SE4YH: Smart Energy for Your Home
Standards are emerging for connecting smart home appliances in a
network that allows users to monitor and control them through hw/sw
gateways. One such standard is developed by the Energy@Home
association (http://www.energy-home.it/),
with particular focus on energy management.
The goal of the project is to develop a system that allows users to
define their own preferences and rules for the management of energy
consumed by their appliances (e.g., conflicts, priorities, goals), and
to manage the appliances in the house depending on them. The students
are expected to survey potential users to understand and define the
kind of management rules that are of interest for users, and to define
a flexible infrastructure to allow them to express and run these rules
in their home.
Sponsor: Matteo Rossi
Distributed Software Development: Team and Source Code Overview
This program aims to help students working in distributed software engineering projects to have a better overview of who is working on particular parts of the code, what tasks are associated to each file, and who is responsible for each file, as well as the working patterns for each individual, to allow for better communication. For example, student Smith might be responsible for a file, but she is working from Australia, therefore, only online between particular times. The program will run as an overlay over an IDE and will be continuously updated as changes happen to the code and responsibilities get allocated.
Sponsor: Claudia Szabo
CodeCoach: Coaching Best Coding Practices
This program will implement a coding coach aimed at teaching beginner programmers about the best practices. The CodeCoach will function like an assistant, similar to the Microsoft Office PaperClip. Once the beginner programmer finishes a program or a method/class, the CodeCoach will highlight best practices that could be applicable to the code that the beginner has written, and would suggest avenues for improvement of the code. The CodeCoach will also record metrics similar to those included in the PSP and offer advice at the end of coding sessions.
Sponsor: Claudia Szabo
DegreeOverview: A Course Definition System
This program will allow University lecturers to define and relate the learning outcomes of each course with other courses within the degree. Lecturers are also able to define the relationships between these outcomes and the course assessment, such that it will be possible to see for a particular assessment mark, how well the student achieved the desired outcomes. The students and lecturers will be able to visualise the dependencies between learning outcomes across a degree. Moreover, a student will be able to see his or her performance on various learning outcomes. Lecturers will be able to see aggregated results across a course or across a degree.
Sponsor: Claudia Szabo
MeetMe: A Better Meeting Planner
Planning meetings with Doodle (doodle.com) is tedious and difficult with more than a few people who each have many constraints. For this project you should create a better meeting planner, one that fills the same purpose as Doodle, but more efficiently (in terms of user time and elapsed time to find a meeting time). It should draw from Google Calendar (http://www.google.com/calendar) and/or other widely used calendaring applications to help choose prospective meeting times. It should work (although perhaps not as conveniently) for users who do not use the same calendaring application, or who choose not to share that information. It should respect privacy and security preferences. In particularly, it should make it possible to find a meeting time in common with minimum disclosure of schedule information. An analysis of privacy and security should be an integral part of the project.
Sponsor: Michal Young