Menu


History

SCORE Project Topics


SNA4Slack: Network Analysis and Visualization for Slack Teams

Slack is a collaboration tool now adopted by many software developers for intra-team messaging, sharing files, and aggregate communication from different tools. Team conversations are organized in open channels according to a topic or anything worth of a focused conversation. Slack messages posted to a public channel are visible to the entire team. You get notified if you subscribe to the channel or you are mentioned (@username). In this project, you will develop a system that allows users to analyze and visualize social networks built upon Slack conversations. Just as an example, you might derive a network graph whose nodes are the users and directed edges are the mentions. Graphs should interactively explored through visualization and analyzed to identify central teammates and clusters. Slack messages will be accessed through the Slack export archive or, better, the Slack API.

Sponsors: Filippo Lanubile and Fabio Calefato

Full project description.


Rider Track: Event Rider/Hiker Tracking

Some longer athletic events, such as ultra-marathon foot races and grand randonnée bicycle events, provide tracking of participant progress, often providing basic details about the last checkpoint a runner or rider has passed. Some provide more fine-grained GPS tracking through services like trackleaders.com or maprogress.com, and some runners use dedicated satellite tracking devices produced by Spot (findmespot.com) and Delorme (now part of Garmin), that pair an individual’s GPS receiver device with a mobile phones to transmit real-time location data. What is needed is a flexible, extensible system to integrate tracking data from multiple sources (e.g., FindMeSpot trackers, Garmin InReach trackers, mobile phone apps, and future sources not yet introduced). This system should provide a responsive web interface that works well on both small-screen devices (at least as small as a typical mobile phone) and on larger screen devices (laptops and desktop computers, or ‘screencasts’ from a mobile device to a television). Additional interfaces, such as dedicated mobile phone apps, would be desirable if (but only if) they significantly improve on the user interface of a web app. The system should allow tracking one or more participants in the event, displaying the progress of each participant along a route displayed on a map. The user should be able to identify a particular participant on the map quickly, and to gain additional information about that participant’s progress by selecting that participant’s map marker.

Sponsor: Michal Young

Full project description.


UniPique: Coordinated Picture Set Processing

Adobe Lightroom is designed to assist photographers in making a wide range of picture adjustments that improve the final quality of one’s digital pictures. A feature that is a real time saver allows the user to edit one photo and propagate the changes to a series of photos taken at the same location and under the same lighting conditions. There are two drawbacks to this feature. First, orientation and cropping changes are not propagated across the image set. Second, the adjustments applied to the sample picture are propagated without considering lighting and color balance variations from one shot to the next. This project entails the development of an image processing workflow that overcomes these two annoying limitations.

Sponsor: Gruia-Catalin Roman

Full project description.


CSyllabus: International Computer Science Syllabi Repository

The computer science faculty values free exchange of ideas, availability of open source software, open publications, exchange of pedagogical advances, etc. Yet, upon entering the web site of a particular institution understanding the graduation requirements is often a real challenge and tracking the syllabus of a specific course can be a daunting undertaking. The goal of this project is to create an international repository of computer science course syllabi to assist students in making good educational choices, instructors in sharing best practices, and education researchers in understanding the evolution of our field.

Sponsor: Gruia-Catalin Roman

Full project description.


CSRepo: A Metadata Repository for Computing Conferences

DBLP Computer Science Bibliography service provides open bibliographic information on major computer science journals and proceedings. The DBLP Computer Science Bibliography lists more than 5000 conference and workshop series, and more than 1500 journals in Computer Science [1]. DBLP provides a great service to the academic computing community. However, there is a lot of manual work to transfer all bibliographic information to DBLP. We want to automate the bibliographic information collection, creating an open repository with metadata for major computer science conference proceedings. For this project, you should develop a library of wrappers whose role is to collect meta-data on papers published in conference proceedings from different editors – IEEE, ACM, Springer, Elsevier, ACL, and so on. After collecting, the wrappers should populate a shared repository. The final framework should have three layers: (i) Data Input, (ii) Data Quality Management, and (iii) Data Publishing.

[1] DBLP, “Welcome to dblp”, Available at: http://dblp.uni-trier.de/

Sponsors: Tayana Conte and Altigran Soares da Silva

Full project description.


Brew Day: An Application for Home Brewers

Home brewing, the process of producing beer on a small scale for personal purposes, is an activity that receives growing attention among beer enthusiasts. Every home brewer owns a brewing equipment (kettles, fermenters, pipes, etc.) with a certain maximum brewing capacity, the number of litres the equipment is able to handle in a single "batch". Brewing also requires ingredients, whose actual amount varies from recipe to recipe; these are various kinds of malts, hops, yeasts and sugars. Brewers like to log their recipes, for future reference, and maintain an updated list of available ingredients, for shopping before the next brew. The goal of this project is to develop an application for home brewers thats allows them to maintain a list of recipes, and adapt existing ones. The application must also maintain a list of available ingredients, update this list after a batch and when new ingredients are bought, and produce shopping lists for the next batch. A special characteristic of the application is the "what should I brew today?" feature: it goes through the recipes, and taking into account the available ingredients and brewing capacity of the equipment selects a recipe that can be brewed with the available ingredients, maximizing the use of the ingredients, and the batch size.

Sponsor: Nazareno Aguirre

Full project description.


Slayer: A Thin Layer Chromatography Analyzer for Smart Phones

Thin Layer Chromatography is a process that can be used to analyze the chemical composition of oils, among other applications. It essentially consists of applying a sample of the substance being analyzed on a plate that is then put in contact with a solvent; through capillary action, the solvent ascends on the plate, decomposing the substance in a number of spots. A thin layer chromatography analyzer processes these spots, according to their size and intensity, to estimate the mass of each of the compounds in the substance. The goal of this project is to develop an application for thin layer chromatography analysis, for smart phones. The application should allow the user to take a picture (with the phone’s camera) of the plate, perform basic cutting and rotating facilities to adjust the picture, and then process the image to quantitatively analyze the compounds of the sampled substance, present the results to the user as area graphs, besides other simpler functions, such as saving images and analysis results for future reference.

Sponsor: Nazareno Aguirre

Full project description.


ShowMe: Show Me Related Work

Finding related work and understanding relation among papers is non trivial. Many services offer some help, e.g., GoogleScholar, but they lack many (dynamic) features. Ideally, we should visualize relations among papers as graphs; each node is a paper and there is a directed edge between two nodes if one paper cites another. A click on a node in the graph should show the pdf (if available), and a click on an edge in the graph should show the way one paper cites another. Furthermore, the graph can be enhanced by users; the users can mark an edge as strong (i.e., paper is closely related) or weak. These additional data could help other users to navigate through the graph more efficiently. The project can be expended in many ways.

Sponsor: Milos Gligoric

Full project description.


NewMonopoly: An Adapted Monopoly Game

Monopoly is a turn-based board game, in which 2 to 6 players move around the board buying, trading, or selling properties, building their own properties with houses and hotels, and collecting rent from their opponents. The goal is to drive opponents into bankruptcy, leaving one monopolist in control of the economy. Monopoly has several limitations regarding the real life economy. One limitation is that the board configuration is static, i.e., the players’ tokens must move around the board in a pre-defined sequence of spots after rolling the dice (which is responsible for actions that strengthen or weaken players), and pricing cannot be changed (e.g., interest rate or public taxes fluctuation). Another limitation is that no loyalty program enables players to earn reward points from paying rents and use them/combine them with money to buy properties or pay rents. The objective of this project is to build a turn-based, client-server NewMonopoly game with high configurability, especially regarding the following requirements: it allows players to enable a random sequence of spots as well as a periodic, random change of the properties pricing, rents, interests and taxes rates (in both spots and cards); it adds a loyalty program to enable the use of virtual currency with random rules; it can optionally weaker restrictions on the number of players to allow new players to join the game as entrepreneurs; it can allow complexity setting in three levels (e.g., easy, medium, hard) based on rules and configurations.

Sponsor: Rodrigo Santos

Full project description.


PTM: Personalized Travel Monitor

More and more applications are available, provided for example by transport operators such as railway companies, metropolitan of regional transportation authorities, that provide real-time information to users when disruptions occur in their networks. Typically, however, these applications provide generic information, in a “one size fits all” approach, where every user receives the same notifications. The goal of the project is to develop a system that allows users to receive targeted, personalized information only when their routes of interest are affected by the disruptions, and only at the right time (for example, a disruption that occurs in a metro line when the user is out of town is of no interest to the user). The students are expected to identify one or more transport operators of interest, identify the available sources of information concerning disruptions (which might also be user-generated information spread through social networks, possibly through functions available on the application itself), and to create a system that provides users with information that is as accurate, timely and personalized as possible. Students are encouraged to interact with transport operators and potential users of the system to gather their expectations and needs concerning such a system.

Sponsor: Matteo Rossi

Full project description.


Travlendar: A Travel-Time-Aware Calendar

Many endeavors require scheduling meetings at various locations all across a city, whether in support of a mobile job or a busy parent. The goal of this project is to create a calendar interface (either by extending something like google calendar or as a standalone application) that automatically computes and accounts for travel time between appointments to make sure that you're never late for an appointment. Locations of meetings are required to create meetings, and when meetings are created at locations that are unreachable in the allotted time, a warning is created. The application should also suggest travel means by appointment (e.g., perhaps you drive to the office in the morning but the bus is a better choice between a pair of afternoon meetings) and by day (e.g., the app should suggest that you leave your home via car in the morning because meetings during the day will not be doable via public transportation). The application should be user customizable (e.g., the user should be able to select preferred (or non-preferred) means of transportation). Additional features could also be envisioned, for instance allowing a user to specify a flexible "lunch". For instance, a user could be able to specify that lunch must be possible every day between 11:30-2:30, and it must be at least a half an hour long, but the specific timing is flexible. The app would then be sure to reserve at least 30 minutes for lunch each day. Similarly other types of breaks might be scheduled in a customizable way.

Sponsor: Christine Julien

Full project description.


ChannelX: Transient Shared Communication Channels

With the availability of e-mail, SMS, Slack, and many other messaging applications, many channels exist for connecting two or more people. However, existing channels permanently associate an identifier with a user, making the user always reachable at the same handle. However, many of our activities require communication channels that are more transient in nature. For instance, a university teaching assistant may want to make a channel available to students in a course only during designated "available" hours and only for the duration of a semester. A seller (or buyer) on a service like Craigslist may want to create a channel of availability for the duration of a given transaction. By making these transient channels available, a user can protect his or her identity and the more direct channels (e.g., not having to give a phone number out to a potential buyer on Craigslist). The goal of this project is to create a service that supports the creation of such transient channels with user-friendly names, associates them with (hidden) permanent handles for the users, and manages the lifecycle of the created channels.

Sponsor: Christine Julien

Full project description.