Software Engineering Project Possibilities

Below are some project suggestions. Most are from CS Corporate Partners. These are all available for a team to choose for a CS 30700 project or a CS 40700 Software Engineering Senior Project:

Purdue Autism Cluster

Project Title: Heart rate deceleration analysis software to help researchers in autism, speech, and nutritional studies.

Project Background and Motivation: A unique experimental technique on heart rate deceleration analysis has been used in identifying early risk factors for autism in infants along with concurrent behavioral attention data. The same technique has been adopted in the research areas of speech (i.e., analyzing how infants process language) and analysis of drug response to nutritional supplements. Despite the fact that this is a well-established technique with multiple applications, there is no software to help researchers perform this analysis in an efficient way. Today, if a researcher needs to use this technique for her/his study, she/he needs to get it implemented by a programmer in a customized way that caters to their requirements or needs to do manual analysis of the data recorded in an excel spread sheet, which is time-consuming and prone to error. Some researchers also do this through SAS software, which requires SAS expertise.

If there was a generic software product that implements the heart rate deceleration analysis algorithm (which will be provided) along with a user friendly UI that helps researchers perform their analysis with customized options, it will help accelerate the research in the aforementioned fields and will make a unique clinical impact in multiple research fields. Also, the software engineering team will get the opportunity to experience the complete software development life-cycle by working closely with real world stake holders.

Project Objectives and Deliverables: A software product that provides the following features:
1. Preprocessing of heart rate data combined with other data streams used for the study (e.g., behavioral attention data).
2. Implementation of the heart rate deceleration analysis algorithm.
3. User friendly UI to help researchers to customize their analysis.
4. Provide both graphical and numeric output (e.g., a CSV file that specifies the algorithm output for each heart beat) to facilitate further analyses.

Details of the algorithm, user inputs, and the formats of the graphs will be provided.

Project Stakeholder: Bridgette L. Tonnsen, Ph.D. Assistant Professor of Psychological Sciences, Purdue University,

Purdue Sports Performance

Project Title: Health & Wellness Questionnaire App

Project Description: A daily health & wellness questionnaire application for Purdue student athletes. The application would be both iPhone and Android user friendly. The possibility of multiple questionnaires would be filled out on the application daily and all data stored, saved, and accessible via excel or another platform to be analyzed. The app would have the ability to send information out as notifications/ reminders to individual student athletes or full teams. Below are examples of current technology already in use:

Project Owner: Christopher Giacchino, Sports Performance Associate, Purdue University, 781-854-6317,

Knowledge Engineering Laboratories

Project Title: The Unit Modeler Technology

Project Description: Purdue University has partnered with Knowledge Engineering Laboratories (Ke Labs) to make the Unit Modeler Technology available for student projects. The Unit Modeler Intelligent Software Development Environment (ISDE) is a comprehensive technology for building smart, feature rich, enterprise-ready applications. The Unit Modeler ISDE has the unique ability to work with complex information in a very natural and easy way. You can do more in less time and do not need a programming background to get started.

Project Owner: Knowledge Engineering Laboratories (Ke Labs). See this link for details.

Nielsen's Research Methods Center of Excellence
Digitization of Retail Establishment Surveys

Completed Projects and Projects in Progress

Northrop Grumman Xetron
Project Title: Fault-Tolerant Encryptable File System
Project Background:
Many embedded devices use Flash storage for persistent storage. In situations where power fluctuates (batteries running out, power outages, pulling the plug), the integrity of these Flash-based file systems can be compromised, rendering the embedded device degraded or useless.
This problem is often solved by utilizing a transaction-based file system, in which write operations are atomic. However, no such file system exists today that also provides an interface for user-defined encryption.
Project Objectives:
Design and implement an atomic C-based embedded file system easily adaptable for projects with unique encryption needs.
Project Description:
The solution:
More details are available here.

Project Owner:
Jonathan Elchison, Senior Software Engineer, Northrop Grumman, Cincinnati, OH, 513-881-3411,
(Fall, 2016 -- CS 30700 Project, Wyatt Dahlenburg, Zach Kent, Max Molnar, Sam Spencer, Brian VerVaet, Project Coordinator Harsh Pandey)

Northrop Grumman Xetron
Project Title: Cyber Signature Diffusion
Project Background:
An encoder is a function used when packaging a binary to modify the program to become a still functional but different form. There are many types of encoders such as converting each instruction to Unicode only characters or only alphanumeric characters. One of the most impressive encoders is the Shikata Ga Nai encoder included with Metasploit. This encoder is able to bypass most signature checks, but currently only works with x86 instruction set. What makes Shikata Ga Nai hard to detect is that it uses permutations of instructions for each operation. For example clearing the ECX register has four hexcodes: \x31\xc9, \x29\xc9, \x33\xc9, \x2b\xc9
Additionally, it prepends the binary with an operation that iterates over the binary using a decoder which takes the values found later in the binary and converts or decodes them back into the values that they were before.
Project Objectives:
The idea for this project is to create a polymorphic xor additive feedback encoder similar to Shikata Ga Nai that will work with a different architecture such as ARM, PPC, or MIPS.
Develop an encoder that will encode a binary using an XOR additive feedback algorithm on a different architecture than x86 or x86 64-bit. The students should have a good understanding of an architecture's assembly language including many system calls or interrupts and writing assembly by hand. The students may also be familiar with Metasploit and may develop the encoder as a Metasploit module.
The encoder should modify a binary so that execution (the program flow) is not modified, but the contents of the binary are measurably different. The main measurement for an encoder is its ability to alter a binary's signature. The best result would be to take a binary that does not pass a signature check and use an encoder on it that will make it so that it does pass a signature check.
Project Owner:
Sean Richardson, Senior Software Engineer, Northrop Grumman, Cincinnati, OH, 513-881-3559,
(Spring, 2016 -- CS 30700 Project, Abdalla Almazmi, Samuel Fellers, Jacob Stuart, Chris Von Hoene, Project Coordinator Junzhe Zhang)

Project Title: Senior Citizen Mailbox Sensor
Project Description: The highlight of the day for many of us senior citizens is when the mail arrives. We look out at the mailbox and try to watch for the mailman. But many times we just walk to the mailbox, open it, and see if there is some mail there. This wastes a lot of our (rapidly diminishing) time and energy. It would be nice if there were some sort of sensor in the mailbox to detect when mail arrives and then to inform the senior citizen via his computer, phone, or some other device.
Project Owner:
This suggestion was sent to Prof. Dunsmore by the grandparent of a former CS 30700 and Software Engineering Senior Project student ... who wishes to remain anonymous. ☺
(Spring, 2016 -- CS 30700 Project, Dhairya Doshi, Isaac Lepow, Andrew Lonsway, Nick Nevius, Zixuan Song, Saisimha Thippasani, Project Coordinator Keehwan Park)

Nielsen's Research Methods Center of Excellence
Digital Alternative to Paper Diaries for Television Audience Measurement - One Solution on Multiple Devices
(Spring, 2015 -- Software Engineering Senior Project, Michael Frick, Travis Henning, Jared Lindauer, Tanner McRae, Project Coordinator Alina Nesen, Brian Treml - Nielsen)

Northrop Grumman Xetron
Project Title: Seismic Activity Map
Project Background:
Seismic sensing is used heavily by the US government to detect troop/equipment movement by our adversaries and weapons testing events. Seismic sensors deployed by our government are limited by power, access to deployment sites, and communications.
Commercial and scientific seismic sensors are widely deployed throughout the world to detect earthquakes. Data from these sensors could be used to fill the gap and potentially locate sources of seismic events that are of interest to the US government.
Project Objectives:
Research how different types of seismic events propagate through various types of media.
Design a Google Maps like activity map using Seismic data from open source sensors to display seismic events. Using research data, display likely epicenter of seismic event with uncertainty radius.
Use variations in visualization to indicate intensity of event and age of event.
Allow user to click on event to display more details about the event. Provide API to add new seismic event providers.
Provide API to add new map data with propagation characteristics.
Project Owner:
Jeremy Williams, Senior Software Engineer, Northrop Grumman, Cincinnati, OH, 513-881-3555,
(Fall, 2014 -- Software Engineering Senior Project, Christopher King, Spencer Smith, Chris Williams)
(Fall, 2014 -- CS 30700 Project, Charles Cho, Zhihao Hu, Paul Lohmuller, Aaron Peters, Ben Whorley, Project Coordinator Gisele Izera, Jon Chambers - Northrop Grumman Xetron)

Authority Publishing Platform
Every day we make subjective decisions on who we trust and what we trust them about. In a professional context, this could be hiring or partnering with other individuals who have a specific skill set necessary for the task at hand. The Authority Publishing Platform (APP) aims to provide a visual representation of this authority network, in its naturally subjective way. Every user's view into the graph will be individual as trust is subjective and may not be reciprocated. For example, a student may trust their professor on "C++" but that professor only trusts other professors. The purpose of APP is to expose this network and allow a user to connect with new peers that are trusted by the user.
(Fall, 2013 -- Software Engineering Senior Project, Andrew Mack, James Miller, Mitchell Mounts, David Zinn)
Available for a Software Engineering Senior Project or CS 30700 team to continue with this project. This is a project with a very open nature. If your team is interested, you can set your own requirements.

Booz Allen Hamilton
Project Idea: Social Networks: Should You Believe Everything You Read?
These days, social networks are everywhere. People post all kinds of information about themselves and their friends, but how reliable is any of it? While many users choose to post truthful information about themselves, it can be difficult to establish profile fact from fiction. We would like students to develop a multi-tier, Java enterprise system that examines a person's presence across multiple social networks. Their system should collect and aggregate a person's Web presence to produce a concise report that rates the consistency of a person's information, as well as the information of their friends. This capability is applicable to markets where data and identity verification are key client concerns.
(Spring, 2013 -- CS 30700 Project, Skyler Beckman, Dylan Fistrovic, Assel Gabdullina, Alex Jahns, Mikhail Kim, Calvin Sauer, Project Coordinator Asmaa Sallam)

Analyze big data in real time using Hadoop or Riak. Data can be powerful. But, just having it is useless. It must be analyzed. The problem is that analysis takes processing time. For asynchronous jobs, this is ok. Who cares if the job takes 4 hours? Run it overnight, right? But, what if you need to make a real time decision based on that analysis? That process needs to return in less than a second!"
If there is interest in our project, we are more than happy to put together the full details and logistics. Our team is also able to provide internal resources for the students to contact with questions.
(Spring, 2013 -- CS 30700 Project, Clyde Byrd, Eric Flick, Yong Sun Hong, In Hwan Lee, Kurt Kroeger, Raghav Shankar, Project Coordinator Asmaa Sallam)

Microsoft Research
Title of the project: In-Home Elderly Care using Microsoft Mobile and Cloud Technologies
Summary: Develop a suite of mobile apps using the MSR Project Hawaii platform, addressing the in-home elderly care scenario. Students would research the area of in-home elderly care and select a few key scenarios where mobile and cloud technologies would be effective, and can make a difference. The students would develop mobile apps and conduct user studies to understand viability of such technologies.
Expectations: MSR would expect Windows Phone apps developed for addressing the elderly care scenarios. These apps should be usable and operational.
(Fall, 2012 -- Software Engineering Senior Project, Joe Martella, Matt McCormick, John Morman)
(Spring, 2013 -- Home Automation Software Engineering Senior Project, John Morman, Trevor Grieger, Chris Bauschka, Trent Apple)

Problem: User Experience (UEX) for Augmented Reality (AR) applications have been negatively affected by performance limitations associated with small form-factor computing devices. In implementing AR on Helmet Mounted Displays (HMDs) safety concerns have been raised due to user disorientation caused by delays and mis-registrations in the overlaying of synthetic data onto the user's field-of-view.


Assumptions: Deliverables: (Spring, 2013 -- CS 30700 Project, Ben Boersma, Zack Golden, Art Malinin, Yidong Xu, Duo Zhao, Chenhua Zhu, Project Coordinator Ashley Mathew)

© 2016 by Purdue University Department of Computer Science.  All rights reserved.