CS 4500: Software Development

Mondays and Wednesdays 2:50-4:30 (Lecture)


Home
Schedule
Lecture Notes
Groups
Week's Topics
Project

  • P1: Cohort Segmentation Tool for Game User Research
    Client: Alessandro Canossa, Associate Professor of Game Design

    The term "cohort" refers to a group of users with shared specific features: experiences, events, use patterns, behavioral markers or demographics. These cohorts are used to identify and target segments of the market that, although they may fit into other models, are more effectively grouped and treated as one. We need a tool that allows game user researchers to design and administer questionnaires, collect answers and use patterns and group selected users with similar patterns of use for games built with Unity.


  • P2: Social Media Analysis Tool
    Clients: Carole Bell and Brooke Foucault Welles, Assistant Professors in Communication Studies
    Claimed by: Team P2-1 Christopher Butler, Matthew Clamp, Calder Pegden, Theresa Aristarco, and John Daly
    Team P2-2: Alex Seeto, Jimmy Ly, Premal Patel, and Zach Bachiri
    Team P2-3: Christina Spleen, Daniel Hartman, Issac Boehman, Ali Ukani, and Daniel Piet

    Communication scholars are increasingly interested in accessing and analyzing social media data in order to study human social behavior. However, few interfaces allow social scientists with limited technical training to download, store and/or analyze social media data in file formats that are familiar and compatible with traditional social science analytic tools (.txt, .csv, etc.). We seek a project team to develop a software application that will allow social science students and faculty with no programming skills to query the Twitter Search API, extract data meeting specified search criteria, and save those data in text (.txt, .csv) files.
    Specific requirements include:
    • Software must run on PC and Mac.
    • Software must complete authentication, data query, download and conversion to .txt format without additional code written by the end user.
    • Software should accommodate all of the main query operators, with GUI elements to search for: keywords, specific users, specific hashtags, and specific date ranges (additional queries can be supported in an “advanced search” section.) Software should output tweet date, sender (username), tweet text and any additional data available for each tweet (geolocation, photo link, etc.)
    • Software should comply with the Twitter API terms of service, and notify user when requests are likely to take a long time and/or violate the terms of service (for example, by hitting rate limits.)
    • Data files should be supplemented with relevant details on the query terms and conditions used to generate the data (for example, data files should note the query terms, rate limits, and sampling rate for extracted data).
    • Software development team should provide documentation on the installation of the software and formulation of advanced queries, for users who might like to go beyond the basic query requirements listed above.
    • Software should be free to use for academic and non-profit purposes.
    Client Commitment: The clients have familiarity with Twitter and the Search API and will meet regularly with the development team to clarify requirements and/or test versions of the software as they become available. Development team will be credited in any presentations or publications that arise from data gathered using this software tool.

  • P3: Self-Awareness Tool for Stress Management
    Clients: Mariya Shiyko, Assistant Professor in Applied Psychology
    Claimed by: Daniel Moreh Kyle Venn Gavin King John Zadroga

    In this project students will develop a cell phone app linked to a physiological sensor to assess momentary experiences around stress, anxiety, emotion regulation, and personal appraisal in the context of daily living. The goal is to prompt individuals to self-report and self-reflect at times when their body exhibits states of arousal (e.g., sweating, elevated heart rate) and to provide individualized feedback to assist with stress regulation
    Re: Sensor for this project. One wrist sensor that measures heart rate, blood pressure, skin conductance and communicates with the phone, activating self-report measures.

  • P4: Non-Linear Content Delivery System for Module-Based Educational Courses
    Client: Alessandro Canossa, Assistant Professor of Game Design

    Massive Open Online Courses (MOOCs) are proving equally popular and problematic, they are popular because they can reach thousands of students in a cost effective manner but at the same time they are problematic because they do not leverage students need for relatedness, autonomy and mastery. We want to develop a platform for delivering educational content in a modular, non-linear and flexible manner that leverages peer-support and -evaluation (relatedness), flexibility of choice of educational modules (autonomy) and shared social ownership (mastery).
    • must allow both "pre-scripted" and "procedura0l" non-linear narratives (sequences of classes)
    • must allow content labeling and weighing from the side of the content creators
    • must support the widest hardware profiles (HTML5 and FLASH)


  • P5: Gamification Elicitation Tool
    Client: Casper Harteveld, Assistant Professor of Game Design

    The objective of this project is to elicit knowledge and responses from participants in an engaging and playful manner through GET, the Gamified Elicitation Tool. GET aims to solve what existing research methods suffer from, such as low participation and response rates and a lack of interest in answering questions. With GET people will get their needed data and participants will get an enjoyable and meaningful experience. GET can be used independently or in combination with other research methods. As part of this software project, students will need to develop a web interface where participants provide their responses and store these responses in a format such .json or .xml.

  • P6: Game Database for Student Projects
    Clients: Nik Brown, Lecturer in CCIS, and Casper Harteveld, Assistant Professor of Game Design
    Claimed by: Team P6-1: Jon Radmer, Rich Van Burren, James Magnarelli, Khao Ho, and Cole Levi
    Team P6-2: Elena Allean, Mark Millstein, Matthew Brandran, Josh Samara, and Matthew King
    Team P6-3: Claimed by: Basel Alhusseini, Jamel Hamani, Scott Kapelewski, and Robert Jensen

    In various classes at Northeastern games are being developed. In addition, the Game Design program organizes the Global Game Jam and the Northeastern’s Annual Game Showcase. Games developed in classes and submitted to these events are not centrally stored anywhere. In this project, the objective is to build a repository where students can upload their games to and where others can view these games and play them. As part of this software project, a database needs to be developed and a web interface where game projects can be uploaded and viewed.

  • P7: Admin Portal Tool for Game Sessions
    Clients: Casper Harteveld, Assistant Professor and Alessandro Canossa, Associate Professor of Game Design
    Claimed by: Team CrackleBarrel: Brian Tran, Matthew Coleman, Dean Thurston, Patrick Bunen, and Daneiel Simond

    We are seeking enthusiastic students who would like to create a universal administrator portal tool to initiate game sessions and retrieve particular data. The idea is that users of this tool can set up a specific game scenario that they want their users to play. The tool should allow the administrator to select one or more scenarios with particular configurations (e.g., rain or sunshine, easy or difficult) and distribute this to users. At the same time, the tool should provide the ability to decide what specific data will be tracked, as it may not be feasible to track all behavior players exhibit in games. The tool should be compatible with the Unity game engine. If you decide to work on this project, you will join an existing team of students who are developing a suite of game analytics software dedicated to the use of games developed with the Unity game engine. Your project should be integrated in this larger project.

  • P8: Data Manipulation Tool for Analyzing Visual Attention and Emotions
    Client: Kimberley Livingstone, Psychology
    Claimed by: Team P8-1 Tyler Aldrich, John Kohler, Jim Barry, Mike Ravert, and Chung Vuong
    Team P8-2: Ian Redpath, Anthony Vatousiou, Qimeng Song, and Theodore Stodalord

    In our lab we use eye-tracking to study the relationship between visual attention and emotion using eye tracking technology. Since many of our researchers are psychologist without substantial programming backgrounds, we use software with a simple user interface to create eye-tracking studies. However, because each participant's data is structured differently (unique to their experimental experience and eye tracking success), the output from this software requires substantial, time-consuming processing by research assistants. As it stands, there are very few options for manipulating the data output with this software. The data are exported into .csv files; so far, we have been writing macros in Visual Basic to extract the necessary information, but 1) it is incredibly time consuming 2) the data are not always structured the same way for all participants 3) some participants are missing data, which causes the macros to crash.
    We would like the software team to develop a software program that automates this data processing. It should allow researchers to select the variables they would like to have included in a data file and restructure this information in the necessary format for analyses. This program should have options for various output configurations (e.g., researchers can select the variables they wish to extract) and be able to handle missing data. Importantly, it should be user-friendly and require only minimal training to use (e.g., ideal for student research assistants).
    Information about the .cvs file: Each .csv file has a different number of tabs in the spreadsheet, depending on how many slides were successfully tracked for that participant. Within each project, tabs will be named the same across participants, but some might be missing for some participants. The files are organized vertically, with headers in column A and data in column F (in MS excel). Each tab has a different number of rows, depending on how many areas of interest were present, but number and location of rows should be consistent across participants. The row headers will be named the same across participants and across tabs (e.g., "Fixation count"). Different projects will have different maximum numbers of tabs, and may require different fields.

  • P9: G-Player: Visualization of spatial-temporal play data
    Client: Troung-Huy Dinh, Post Doc of Game Design
    Cliamed by: Tommy Hu, Pragathi Sanshi, Alex Gimmi, Alex Johnson, and Alex Jacks

    We have a set of player behavioral data, collected from a Multiplayer shooting game (the likes of Half Life, Call of Duty, Left 4 Dead, etc. ). This data set consists of multiple play records, a.k.a. play traces, each of which is encoded as a sequence of time-stamped events (such as shooting, death, purchasing, hit,...) and frequently sampled location info (sampled at the rate of 5Hz). The data set contains records of 70 players, each with one hour of game play, in CSV format.
    We would like to develop a visualization system that allows researchers without data manipulation experience to interact with this data set in a meaningful way. In particular, the system should provide a visual representation of the recorded spatial-temporal behavior of all players answer, in a visual manner, queries related to: Trajectories of events. For example, show the records where purchases are followed by death events. Event locations (e.g. heatmap of deaths) Boolean operators on events (e.g. show heatmaps of deaths and/or purchases in Room 3 and Room 2 that happen in the last 5 minutes of games)
    Demo of earlier system

  • P10: Enabling a healthy lifestyle among vulnerable individuals, families and communities
    Client: Carmen Sceppa, Professor in Health Sciences


    Advances in technology have facilitated the assessment and delivery of lifestyle interventions, specifically nutrition and physical activity, from traditional venues (self-report, interviews, printed materials) to more adaptable and scalable modes using human-computer interaction, interactive information and communication technologies, gamification, and social media. This is particularly important when reaching out to vulnerable individuals, families and communities. Reference to vulnerable populations in this setting includes factors such as diverse ethnic background, low socioeconomic status, poorly educated, and burdened by higher rates of risk factors for chronic disease conditions when compared to Caucasians. Students will have the opportunity to work with faculty and use lessons learned from evidence based interventions to promote healthy eating and physical activity. This information will be used to develop novel state-of-the-art technologies and alternatives to motivate and assist individuals, families and communities to engage in lifelong healthy behaviors.

  • P11: Fold-IT Interface Enhancements
    Client: Seth Cooper, Assistant Professor, College of Computer and Information Science

    Foldit is a downloadable crowdsourcing game about protein folding and design. Players are able to interactively sculpt protein structures with a variety of tools, and they compete and collaborate to get a high score by coming up with the best protein structures. The game is written in portable C++ and runs on Windows, OSX and Linux. It uses OpenGL with a custom GUI and geometry library for display, and is built on top of the Rosetta biochemistry software package. It makes extensive use of biochemical models for gameplay and visualization. The game has an active community and any projects completed will potentially be released to the live game and players. The game can be downloaded at http://fold.it.
    • A. Touchscreen Interface
      Claimed by: Christopher Curreri, Hao Lin Li, Adam Sasi, Samantha Sanborn, and Jordan Reedie
      Team 11A-2: Oscar Spencer, Nikolai Wotton, Ben call, Greg Pfadenhaver
      We have an initial prototype that allows the game to be controlled remotely over the network by a touchscreen interface. This prototype streams the display and events between an Android tablet (client, written in Java) and an instance of the game running on a desktop (server). The current prototype is limited to emulating what can already be done in the game with a mouse and keyboard. This project is primarily concerned with exploring the novel input modalities that a mobile device with multitouch could enable (for example - pulling on multiple places on the protein at once, gestures, or using the accelerometer to control the camera or launch tools), with the eventual goal of determining if these modalities can improve player efficiency in finding useful protein structures. This could involve determining novel input modalities, modifying existing tools to be aware of multitouch, sending and supporting the necessary custom events, ensuring that the server code is portable across all supported platforms, allowing simultaneous play using multiple tablets, and exploring optimizations for streaming video.
    • B. Scientist Interface
      The Foldit game interface is primarily designed with novice users in mind, who are interacting with predefined biochemical systems as puzzles. We would like to make the game more useful as a scientific tool for the biochemists we are collaborating with, both so that they can have a better tool for their work, and so that we can see how game players and biochemists use the game differently, potentially improving the game for both groups. This project would involve working with biochemists currently using the game on their work to get their feedback. It would potentially involve identifying and implementing methods for loading the data files that specify the problem of interest (GUI and command line), saving and loading the current state of the system, sharing this state with other biochemists, implementing features in a maintainable way (for example, a scripting console), and allowing scientists to easily export their current state to a puzzle to present to players.
    • C. Introductory Level Psuedo-Leaderboards
      There is currently a large transition between the tutorial levels of the game, which use fixed goal scores, and the competition levels of the game, which use open-ended leaderboards. We are curious if making the tutorial levels seem more like the competition levels will help players with the transition. To do this, we’d like to set up the tutorial levels so that they have a leaderboard populated with predetermined scores, such that the player completes the level when they reach a certain rank. The goal would be to test the effectiveness of this approach. This would potentially involve reorganizing the leaderboard code so that it will work in tutorial levels, setting up the pre-populated leaderboards for the current levels of the game, hooking this up to the games’ testing framework, and adding a three-star completion rating system to the tutorials.


  • P12. Nanocrater Enhancements
    Client: Seth Cooper, Assistant Professor, College of Computer and Information Science

    Nanocrafter is a crowdsourcing game about synthetic biology. Players solve puzzles by building devices that self-assemble out of short strands of DNA. Players are able to submit their devices for other players to view and rate. This game is implemented in ActionScript 3, primarily using the Starling framework to use Stage3D support. The game uses a model of DNA dynamics to simulate the systems that players set up. The game is currently available to be played online and completed projects will potentially be incorporated into the released version of the game. The game can be player in-browser at http://nanocrafter.org.
    • A. Simulation Playback Control Widget
      The current widget that controls simulation playback is very rudimentary, only allowing play and pause. We would like a widget control that allows more options, such as reload, rewind, fast forward, and skip. We imagine these would take the form of VCR-style buttons. This project would involve prototyping and implementing a new playback control widget, hooking the widget up the internal playback mechanisms, and iteratively improving its design to improving the intuitiveness and usability of the widget.
    • B. Tutorial hinting System
      The current hinting system in the game offers text hints at the top of the screen and a hand icon that indicates what the text refers to. We would like to reduce the spatial disconnect between the text and the icon to better draw players’ attention to the hint. This project would involve implementing a context-sensitive text hint system that co-locates the text and icon on the screen, an event system that is triggered by players’ incorrect actions, and general improvements to the hinting system.
    • C. Challenge Creation and Maintenance Pipeline
      We would like to make it easier to create and manage the weekly challenge puzzles. This project would involve working to improve the pipeline for creating the challenge puzzles on the website: this could include an interface for developers and scientists to author the initial setup and other parameters of the challenge, ability to submit the challenge and check the mechanics that it uses so that it appears in the appropriate place among other puzzles on the website, view submissions and their ratings, and create news posts announcing the winners.


  • P13. Visualization Software for Time Series and other Data
    Client: Ian Kleckner, Post Doc, and Karen Quigley, Research Associate Professor, Psychology
    Claimed by: Christopher Curreri, Hao Lin Li, Adam Sasi, Samantha Sanborn, and Jordan Reedie

    We have data from various sources that is collected on the same person over time that we would like to visualize all at once. So, e.g., we’d like to visualize multiple channels of physiological data and eventually see these alongside any visual stimulus that was presented (a picture or a video clip). We would like to be able to zoom in or out on the data, go to particular parts of the data stream, or add or remove channels of data easily (e.g., turn on or off channels). Data might be sampled at very different sampling rates, or data might start at different times, and we want to ensure that they are aligned in time. We also would like to be able to compare the same kind of data across people, create and display mean responses across people, and eventually also show scored data alongside the raw data. (Scored data might be showing where the onset, peak and half-recovery time of a “skin conductance response” occurred or where the peak (R spike) of an ECG occurred, aligned in time with other data.)
    Ultimately, we’d like to add other tools to this software (e.g., plot means across particular epochs of time against the mean of another kind of data (e.g., mean heart rate response during a picture stimulus against the mean arousal rating for that stimulus for a set of HR response X arousal pairs). This latter part is probably too much for a one semester project, but could be a subsequent project.

  • P14. Software for Preparing Stimulus Sets
    Client: Ian Kleckner, Post Doc, and Karen Quigley, Research Scientist, Psychology
    Claimed by: Tony Huang, David Lin, Gary Song, Kevin Yang, and Gasper Chan

    Many psychology studies involve measuring people's responses to a set of stimuli before and after a manipulation. For example, a study might measure ratings of pleasantness in response to pictures of food before and after the participant eats a meal. Scientifically, it is helpful to match the two sets of pictures (before and after the manipulation) in terms of normative ratings of the outcome measure (e.g., pleasantness). However, matching the two (or more) sets of pictures is cumbersome by hand and would benefit from (1) computer automation to distribute pictures such that the sets are normatively matched, and (2) a graphical interface to see the stimuli in each set with a drag-and-drop interface to move stimuli into or out of each set. Once put into sets, we wnat to be able to see the mean and standard deviation for the normative ratings for that set of pictures, with the ability to move single pictures from one to another set as needed, and the means and standard deviations adjusted accordingly.

  • P15. Bike Beacon: A Novel Cyclist’s Collision Avoidance Technology
    Client: Mark Sivak, Academic Specialist, Engnineering and Art and Design, and Amir Farjadian, PhD Candidate, Bioengineering
    Claimed by: Brian Desnoyers, Lucas Magee, Chris Freeby, Zach Winkeler, and Cheryl Downie

    Develop a smartphone application that creates Bluetooth communication with an external receiver on the motor vehicle so as to alert the driver regarding the presence and direction of the approaching bicyclist. The interface on motor vehicle is already developed and the team will only focus on the app.
    In 2012, there were 1.99 pedal-cyclists deaths and more than 134 reported injuries per day in the United States. Large vehicles (HGVs) and public transportation system play a significant role in serious bike accidents that cause severe injuries and fatalities. In the past four years, 9 people were killed in the Boston area in the bike-large vehicle accidents. The ultimate goal of this endeavor is to introduce a product to increase the awareness on the road and provide a safer experience for cyclists.
    Bike Beacon (BB) is a cooperative technology that creates wireless Bluetooth communication between cyclist’s smartphone and motor vehicles. The system is composed of an app that converts the cyclist’s smartphone into a transmitter, and requires receivers/display unit on the motor vehicle. Once the cyclist approaches to certain proximity of the motor vehicle, the receivers will detect and alert the driver via the display unit on the side mirrors or dashboard. The interface on motor vehicle is already developed and will be available to the students. Bike Beacon will also collect driver-cyclist interaction on the road which can be useful for educating drivers, traffic management and city planning. The more advance version of the app can be equipped with an activity recognition package to become fully automated. This will eliminate the need for cyclist to turn on/off the app every time s/he starts/stops cycling.