- About Us
- For Students
Click on a project to read its description.
A number of Business System applications will be converting from HP Unix (HP-UX) to Linux. Although the platforms are similar, some differences will have to be accounted for in the transition.
The project team will create a tool to evaluate HP-UX files to identify changes that will have to be made when converting to Linux. The tool should first provide an option to identify and summarize the changes. The tool should also provide an option to modify the files by applying the necessary changes.
The project will involve the following:
iPhone Server Monitoring Application
Duke Energy has numerous systems that are critical to the company's operation and require 24/7 support. As a result, it's necessary for the support team to handle issues remotely, at a moment's notice. Often the server hosting the application contains clues to resolving the problem. The students will create an iPhone application that will be used to resolve support-related issues remotely. Functionality of the application will include the ability to start/stop Windows 2008 services; retrieve server specifications (such as disk space, memory, CPU, uptime, etc); and the ability to start/stop scheduled tasks. Students are encouraged to be creative in the design of the system and incorporate functionality that they believe to be helpful in debugging application issues. Additional challenges include:
The application should be able to complete the tasks and provide the metrics below:
Return the following Specifications and Metrics
OS Event Retrieval (Selected by date and time)
In the event that the Unix or Linux operating systems are chosen, the students should investigate and determine similar tasks/metrics that would be helpful for application debugging.
The interface must also contain administrative functionality for adding/removing servers; selecting allowable actions per server; adding/removing users; and editing user rights. Security groups should be established as follows:
It's possible that security access may be dictated by the nature of iOS and iPhone applications themselves; if that's the case, work within that framework.
It is preferred that the servers within the application's control do not contain installed code. Rather, all requests to these servers should be accomplished via WMI (Windows Management Instrumentation), or the Linux/Unix equivalent.
The application will provide reporting functionality for auditing user activity that impacts the server environment. Reports should include the action taken, date and time the action was executed, and the individual performing the action. Users should also be able to search for activity using these attributes as search criteria.
Full documentation of the system is required. This includes:
Background for Project
There are two major video game console player portals: Xbox Live and Playstation Network. Additionally, there are Independent Portals such as Steam and Virgin Gaming for PC gamers, and social media sites such as Facebook, YouTube, and twitter that all allow gamers to connect to other gamers.
What would be of great value is a multi-platform (web and mobile) portal that consolidates the player's profile and multi-player activity across all such sites.
This project should be created with an extensible framework that is quickly implementable as new player portal sites become available. Significant attention should be focused on user experience to improve the adoption and usability of the technology.
Since 1984, I-Cubed has provided the people, products and processes to extend the value of customer's enterprise systems. The company's subject matter expertise in Enterprise Applications, Product Lifecycle Management Consulting, Business Process Consulting and Rights Management provides a unique insight that translates customer needs into commercial products. I-Cubed's product and services portfolio helps customers accelerate the integration of enterprise systems and collaborate securely throughout the supply chain. I-Cubed has been sponsoring senior design projects for more than 10 years. I-Cubed's office is conveniently located on NC State's Centennial campus in Venture II.
The World Health Organization reports the world needs 7.2 million more health workers. This number includes doctors, nurses and mid-wives. If nothing is done by 2035, the number needed will jump to 12.9 million. This shortage of health workers is considered one of the fundamental constraints to achieving international health and development goals. Health workers are the backbone of any healthcare solution. People around the globe suffer from preventable disease and death simply because they do not have access to a trained health worker. Getting the right health worker in the right place at the right time is the key to preventing human health disasters. This was the motivation for IntraHealth International's leadership in developing the human resource information system called iHRIS. iHRIS is free and open source software for managing health workforce information and is currently employed in 16 countries around the world. With iHRIS, countries are saving lives by training and deploying health workers where they are needed most.
Without customization, however, iHRIS does not address all possible use cases in all countries. When iHRIS is deployed in a new country a great deal of form and page customization is necessary. To improve implementation speed and saturation in a country, students are tasked to build an administrative interface to allow customization of forms through the application instead of using module configuration files. Building on that, students will create an interface to define, display, and edit pages based on the existing forms so more customization work can be done through the application instead of manually editing XML configuration files. The student group will be required to engage with stakeholders in Africa at both the ministry level and the open source community. iHRIS is built on a LAMP stack (Linux, Apache, MySQL and PHP) with source code hosted in Launchpad.
The project will be run within the Agile Scrum framework. The iHRIS Community Manager will serve as the Product Owner for the Scrum team in order to provide form and page editor requirements and to assist with backlog grooming and acceptance criteria. Development will occur in three week Sprints. Planning for tasks will occur at the beginning of the Sprint, checkpoints and backlog grooming will be scheduled mid-Sprint and demonstrations of progress will happen at the end of each Sprint in a Sprint review.
Benefits to Students
Exploration of Gadgets for Home Automation
Home automation is a term used to describe multiple things, from monitoring energy consumption to building the house of the future. In this project you will have the opportunity to obtain hands-on experience with home automation technologies.
Students working on this project will be given a set of programmable hardware devices based on Microsoft's .NET Micro Framework and Microsoft .NET Gadgeteer (http://www.netmf.com/gadgeteer/) including touch screens, an RFID reader, LED indicators, cameras, sensors and networking modules. These devices will be compatible with Microsoft's Lab of Things (LoT, http://www.lab-of-things.com) and HomeOS, which work together as a research platform for wired and wireless connected devices in homes.
A previous Senior Design team in the Fall has done preliminary work with most of these devices. The Fall team produced two major solutions: a smart security system and a smart picture frame. However, while both solutions use .NET Gadgeteer and the .NET Micro Framework, they are not integrated with LoT.
This semester's team will be provided with all existing source code and documentation from last semester. The goal of this project is to investigate how all the different devices can be integrated into a LoT solution. Any challenges and workarounds will need to be documented as they are encountered. Students are free to reuse any existing code, or can choose to start new software solutions from scratch. A hybrid approach is also acceptable. By the end of the semester the students are expected to develop a fully featured solution that showcases how each hardware module can interact with Lab of Things, and provide documentation for the entire process. Modules that turn out not to be compatible with Lab of Things should be identified and the reasons for the incompatibility should be documented.
It is suggested that the teams divide the work in 2 major phases:
Phase 1: Module interaction with Lab of Things
This phase involves getting familiar with the LoT platform and exploring how each module interacts with this platform. During this phase you will learn how to set up Lab of Things and HomeOS, how to use each module's API to interact with it from a .NET project, and how each module could interact with LoT. All your findings during this phase should be documented and reported.
The expected results of this phase are:
Phase 2: Fully featured solution
All the dedication and effort you put into the first phase will surely pay off, because in this phase you will get the chance to apply what you have learned to create a solution of your choosing. During this part of the project you can use as many modules as you can to construct an integrated hardware and software solution inside Lab of Things. Be creative!
The expected results of this phase are:
Break the Ice
Mining the social web to enrich human interactions
"Break the Ice" will implement services and algorithms that will navigate an individual's social graph and extract highly relevant topics for conversations from the relationship.
As an example, consider John Doe. John is a lawyer, who has an account on Twitter. He follows many other users and is widely followed as well. He usually tweets on topics related to law and legal matters. John is looking to be of assistance as legal counsel for some of his followers – in other words, John is looking at Twitter as being a source of customers and revenue.
John sees a potential lead in Jack Sparrow and wants to reach out to Jack. "Break the Ice" comes into the picture here: "Break the Ice" looks at Jack's tweets, and figures out the categories (sports, entertainment, politics, etc.) that Jack frequently tweets. It further suggests relevant topics mined from popular news feeds, in those categories, that can enable John to have a richer conversation with Jack.
The social graph will extend across the popular social networks. For the context of this project let us limit interfaces to Facebook, Twitter, and Google+. "Break the Ice" will use public APIs that these networks provide to navigate and extract content from the graph, mine the content for categories, and further look at matching topics in popular news feeds (Twitter popular topics, BuzzFeed, Google news, NPR, etc.) via the public APIs they provide (rss/atom feeds, REST API, etc.).
"Break the Ice" will be implemented to be hosted in a standard application server and will expose its features as RESTful web services via JSON payloads.
As a part of implementing this project, a few technologies will come into use. The following is a list of some potential (but not limited) technology choices.
Extraction of content and classification will involve aspects of machine learning.
There are a few libraries in Java that can be used for this purpose:
Python has a number of immensely popular libraries such as NLTK: (http://nltk.org)
As a stretch goal, build a native app accessing data from the REST interface and rendering a UI for Android, iPhone, or Windows Phone. You may take advantage of frameworks similar to Xamarin (http://xamarin.com/), which would allow you to share common code across multiple mobile OS platforms.
Students will be required to sign over IP to LexisNexis at first sponsor meeting.
Business Link Express
Purpose: To develop a one-stop web portal that offers a central and easy access point to start a business in North Carolina.
Background: The State of North Carolina is working to make it easier for entrepreneurs to start their business in this state. Legal requirements for business startups span several agencies, including the Secretary of State's Office, the Department of Revenue, and the Department of Commerce. A website that integrates the process of starting a business with helpful information about the process and state resources will spur new economic development and reduce unemployment.
A cross-agency workgroup identified the business flow processes, forms, and technical requirements necessary to develop a one-stop access point for individuals interacting with the state around business issues. The workgroup developed personas, scenarios, and content wireframes. (Personas and wireframes for primary pages are available. Full content wireframes are also available.) These were evaluated by Ben Watson's graduate level User Experience class. The project report and prototype are here:
Project: A senior design project is requested to build Business Link Express using innovative practices for user experience, including programming the online forms, providing a data feed to facilitate back-end integration, and improving the usability and functionality of this online licensing database http://www.blnc.gov/start-your-business/business-licenses-permits. Usability testing is desired to ensure ease of use. A responsive design that works on desktop and mobile is desired. Use of the DotNetNuke web CMS platform will help the project to be quickly deployed by the state.
Online processes are  several online forms for business registration with the Secretary of State (the form differs depending on the business structure chosen),  licensing requirements database managed by the Department of Commerce (schema and test data will be made available),  an online form to obtain a privilege license with the Department of Revenue, and  registering to pay taxes with the Department of Revenue (process is already developed, and only needs to be included in a modal window).
Processes are fairly stable, but can change when state laws change. It is requested that the site be coded to respond easily to typical changes in the processes.
After the project is complete, the site will be hosted by the N.C. Department of Commerce and maintained in DotNetNuke.
Design elements such as colors, fonts, and an enterprise toolbar will be supplied. The state will try to provide a full DotNetNuke skin, but it may not be complete by the time it is needed.
Site should be:
An Application for Coaches to Train Athletes
SportDrill is an existing web application that has been developed this fall by the NC State sponsorship team that needs further functionality and advanced features. The mission for SportDrill is to plan, generate, and track athletes' progress in their Strength & Conditioning and Sports Nutrition programs online! The objective of this project is to finish the existing web application and use it to develop and convert to a mobile android tablet (and IPad/phone) application if we have time.
If you choose this project you must be willing to step into the shoes of a coach to experience what goes into a successful training program. The first target of a coach is to "plan" a training workout based on the available time and resources and put it on a calendar. The second target is to "generate" an appropriate list of exercises, running drills, and volume needed. The final and most important target for coaches to "track" the progress to ensure the athletes get results.
Students will receive access to the existing web application that the NC. State fall team started to finish and add new functionality. The web application must be EASY & INTUITIVE for the coach to go through the three steps to plan, generate, and track athlete progress.
Most high school coaches' lack access to advanced technology and therefore the functionally must be simple to navigate a complex application. SportDrill will allow coaches to use an existing sample workout template to adjust for their use or to design a training workout from scratch. SportDrill will also allow a coach to plan the workouts on a calendar and finally it allows a coach to track their progress through charts and graphs.
After working with NC State for the Fall project we are in good position to pick up where we left off for the Spring Project with a new team.
Key Implementation for the spring will be to finish/complete the TRACKING feature of SportDrill and to enhance the tracking capabilities with intuitive features and graphs. Another important feature will be the implementation of the Nutrition resources for the athletes that will be provided to the NC. State team by the SportDrill team. Other features that didn't get incorporated are all documented with this project and are easily transferable to the new team.
A basic foundational prototype has been created by the NC State team this fall that allows the coach to (input) data to build a roster and player profiles. Second, the coach can generate (input) a list of approximately 12 exercises/running drills to be applied to an individual, group, or team. Next a coach can plan the workouts on a calendar. Lastly, these exercises and running drills can be printed for the workout, viewed by mobile app for updating, and to track and to observe progress. Enhancements of each of these three categories (Plan, Generate, Track) will be expected as well.
Creating this application will allow strength coaches to:
Preliminary System Requirements:
Target 1. (Plan) Enter athlete information for various parameters and standards online to include: calendar, events, training days, and off-days. Athlete include weight, height, body fat, and current maxes.
Target 2. (Generate) INPUT a daily workout to include exercise/drill, sets and reps, and intensities and distances (see definitions in section I) Outline to include: Player, Group, and Team organization, exercises/drills, and workout plan/cycles.
Target 3. (Track) OUTPUT daily workouts of individual athletes programs based on baseline standards efforts shown by intuitive graphs and charts.
Target 4. Nutritional section added to the site. Information and resources will be provided by the SportDrill team.
Target 5. Intuitive Landing page (marketing page) created for SportDrill.com
Target 6. Coaches Dashboard displaying important features
Target 7. Player profile page
Target 8. Optimized for IPAD use. Mobile App if time permits.
Target 9. The system needs to be able to print all data by PDF (including weekly workouts, leaderboard, and test analysis comparisons) for sport coaches, athletes, and others interested in this information
What is highlighted in GREEN is what the NC. State fall team focused on mainly. Tracking still needs better functionality to be completed however.
SportDrill is currently implemented as a Web application in Java and uses JSP, PrimeFaces and jQuery. Other technologies can be explored if it makes sense for the intuitive and ease of use of the application as long as they can be used in commercial applications.
Mr. Josh Allen is a former collegiate and professional baseball athlete. He is currently an entrepreneur and president of a fitness startup called SportDrill.
Mr. Chris Morland is an educator and coach who motivates performance and develops champions. Previously, he coached for 9 years for the Wolfpack as a strength and conditioning coach for Olympic Sports including 17 different men's and women's athletic teams NCAA Champions and more than 60 ACC team or individual champions. Most recently he has made the transition to teaching and coaching at Cardinal Gibbons High School. There he serves as the Director of Strength and Conditioning for all varsity, junior varsity, and freshmen sports and teaching health and wellness.
Students will be required to sign over IP to SportDrill at first sponsor meeting.
All Things Coach
Who is the target market for this website?
The target market for this software is the entire network of coaches and athletic directors in any sport on any country.
What platforms will this website be available on?
This will be a web-based platform that should work on mobile devices – iPhone and Android.
What is the main purpose of the website?
There are really two main purposes for this software. The first and perhaps most enticing purpose is to bring all of the daily and monthly tasks of a typical coach into one all encompassing "hub" in an effort to save time, headaches and the overall complications that come with the job. A second purpose and unique attractant for this software is the capabilities it brings to network with other coaches in a "social atmosphere" where everything shared, discussed or viewed is completely relevant to all of its members.
What are some of the main features of this website?
Here they are in order of importance.
-Coaching Tree. This offers the coach a place to show all the players he's coached, coaches he's coached with and coaches he's coached etc…Picture ancestry.com for coaches
-Online roster information and corresponding data. This allows coaches or players to login and upload their information (name, weight, height, size etc…) which will be the same place that coaches go to mass communicate with their players, but will also help them to easily submit sizes for uniform ordering, shoe ordering etc…
-Virtual events and online calendar. This tool will allow a coach to setup a "virtual event" (tournament, coaching clinic, game etc…) and share with other coaches in or out of his network. This will save time involved in a coach's scheduling of events. This would also be where the online calendar would be laid out which would provide game, practice, event and other important scheduled activities for all to view anywhere in the cloud.
The website shall be implemented with extensibility in mind. In the future, we also want to add the features below. The system's design should be flexible enough to support adding these and other features easily in the future.
-Statistical information and tools for recruiting and record keeping. The goal is for this software to one day be the main landing page for all statistical information for any player on any level (possibly including the main professional levels such as the NFL, NBA, etc…). This will be able to be exported automatically to MAXPREPS, RIVALS etc…automatically
-Communication platform with players and parents. This software will allow coaches to easily text, email, tweet, facebook, etc.. all of their players and parents from one single application or website.
-Ability to buy, sell or rent sports related equipment and facilities. This part will provide coaches (in most cases the schools they represent) an opportunity to save and make money for their programs. This feature will allow a coach to look for or post a particular need (gym rental, field equipment sale, etc…) within a search field that is specifically catered to and targeted at coaching needs.
Who can be a member of the website?
The focus this semester will be on the coach's and athletic director's membership and "login". Athlete's login will also be required for the online roster feature.
What are the personal info requirements for joining the website?
This website requires you to be at least 18 years or older, provide your full name, email, mobile number, school /team, city, state and zip code.
Students will be required to sign over IP to Sport Spiral, LLC at first sponsor meeting.
Adaptive Interactive Video Tutor System
Strategic Motion Video (Patent Pending) is a unique interactive video-based educational system that provides learners with personalized training and the ability to interact with the training. Strategic Motion Video (SMV) provides the ability to customize the video being viewed to the viewer's desires in real-time and, also, the ability for viewers to ask a question in the middle of the training and receive an answer in real-time. A senior design team created a beta version of SMV during the Fall 2013 semester. The overall goal for the Spring 2014 semester is to refine the user interface to the existing SMV system and to extend SMV functionality in several ways.
Functional extensions to SMV include (not necessarily in order of importance):
An Administrative Portal
SMV data manipulations require real-time access to and sequencing of numerous segments of pre-recorded video. As currently implemented, SMV requires off-line, manual insertion of video metadata into a database and video files to a file system. The SMV Administrative Portal should provide a menu-based approach for these tasks.
Natural Language Processing
In order to deliver the best response to users' questions, the SMV system has to be able to understand what the user is asking by parsing an input string to extract necessary information. This information then needs to be matched to a pre-existing video response, also allowing for key word synonyms. Similarly, the content of video responses must be processed for key word tags. The existing system requires manual determination of these key word tags by listening to a pre-recorded video response. Since the audio content of each video is defined by a script (a script is a text file which is read during video production), the SMV system could use the script as input to the same natural language processing techniques mentioned above to automatically extract key word tags for each video segment.
Understanding text input is a valuable part of the SMV system. In order to advance SMV capabilities, the project team should also investigate how to implement speech recognition under SMV. Voice input interfaces to allow expanded usability are becoming common place. The team should spend time investigating commercial and an open source approaches to speech recognition for Web-based applications.
Instructor Asked Questions
The existing SMV system allows for learners (viewers) to ask a question while a video is being played. When a learner asks a question, the SMV system stops the current video mid-stream, determines an appropriate video response to the question, plays the response automatically, and resumes the original video from the stopped point. The SMV system should be expanded to also permit the instructor to pose a question to the learner (viewer). The learner answers the question, and the video continues, perhaps with a clarifying inserted video.
The existing SMV system has no security features. The Spring 2014 team should investigate and report on any and all data or access related security issues and, at least, add a secure login/password facility.
Software Technologies Employed
The existing system uses PHP, CakePHP, MySQL, Video.js and Twitter Bootstrap 3. Any additional technology that may be required must be licensed for commercial use.
Students will be required to sign over IP to Strategic Motion Video at first sponsor meeting.
Flexible Service Delivery on an Intelligent Multi-Service Gateway (iMG) with OSGI.
The Allied Telesis iMG family of devices provide broadband access and are deployed by a Telecom Service Provider – in their customer's home or business. Typical services provided at this time include Video (IP TV), Voice (Voice over IP) and Broadband Data. Data services are provided within the home or business over Coax, Ethernet cables – or using an 802.11 Wireless Interface.
One of the challenges that Service Providers are facing now is how to increase their revenue per subscriber by offering additional services that they can charge for. We want to demonstrate some of the possibilities – that utilize the Allied Telesis iMG as a platform that can be used to offer services within the home. The resulting project delivery – should be a solution that can communicate with selected devices within the home – and can be used to demonstrate the possibilities such a solution could offer. We also want to use this project as a platform for experimentation by our engineers.
Areas of consideration could be:
Baseline development requirements include incorporation of the Equinox OSGI Framework into the iMG Linux based firmware base and the addition of any additional OSGI bundles required to meet the minimal functional requirements. From that point on – the goal is to develop one or more OSGI Bundles that can be deployed to the iMG and used to provide a service that the end user would value.
The starting point of this project will be a set of use cases – that will be used to define the devices required and the incremental feature content needed. We will provide some…but these should be seen as just a starting point – so plan to use your imagination!
By the end of the semester a subset of these use cases will be live.
Allied Telesis is a network infrastructure/telecommunications company, formerly Allied Telesyn. Headquartered in Japan, their North American headquarters are in San Jose, CA. They also have an office on Centennial Campus. Founded in 1987, the company is a global provider of secure Ethernet & IP access solutions and an industry leader in the deployment of IP triple play(voice/video & data), a networks over copper and fiber access infrastructure.
Bandwidth Connected Universe
Bandwidth is a leading IP-based communication services provider that hides behind many of today's innovative communications solutions. We want to work with Computer Science students at our Centennial Campus office to build a new and innovative solution for real-time communication utilizing an emerging technology showing up in every browser: WebRTC. No more downloading apps and joining communities. Just communicate. Using video, voice, and anything else. To anybody. Anywhere.
Bandwidth possesses a range of specific capabilities that can be brought to bear to help build truly ubiquitous interpersonal multimedia communications. This suite includes a comprehensive VoIP network, an API-driven communications applications platform, a number of creative communications apps, and the Bandwidth Connector webRTC application.
This is a great foundation to combine with new clever and innovative web applications imagineered by the team, to create a truly unique and universal communications experience.
Build web-application capabilities that extend and simplify the way anybody to anybody multimedia communications happens, using the foundation provided by Bandwidth Connector, and the application and network resources of Bandwidth.
You will be building application capabilities of your own devising. You provide the creativity. Working with Bandwidth mentors you will:
These phases will be done using the Agile Scrum software development methodology, alongside other Bandwidth software engineering teams. There will be a product owner and scrum master dedicated to this project; available to provide support along the way. The team will be able to work in the Bandwidth Centennial Campus office with Bandwidth technical staff as needed.
Republic Wireless, a division of Bandwidth.com, is dedicated to revolutionizing the mobile calling experience. We would like to sponsor a design project that engages students to build an asynchronous calling/voice messaging platform. Although the voice calling experience is a well understood model, it often is not congruent with the way we live and work. This project will enhance our hybrid calling experience by providing users an additional way of communicating as well as an alternative during times of limited connectivity.
One on one Scenario
Alice is driving and needs to communicate with Bob about an important meeting. She records and sends Bob a voice message. Bob listens to the voice message at his convenience.
Alice needs to tell her family where to go for dinner. She sends a group voice message to all the members of her family. Any responses get played for everyone in the original message.
Limited Connectivity Scenario
Alice is at work in a remote location with no cell coverage and inconsistent access to a wi-fi router. She needs to get in touch with her colleague, Bob, to discuss design changes to their project.
Have async voice messages self destruct after a user specified timeout expires (like Snapchat).
Build a prototype system that can be used to demonstrate Async Calling scenarios like the one described above. The project will require work in the following areas:
Raptor GUI Configuration Tool
RAPTOR (Remote Automated Product Testing and Observation in Real-time) is an EMC project to advance the state of the art for platform testing. It is a hardware and software platform designed to enable automated, remote testing of server-room rack-mounted equipment. The RAPTOR device can be mounted on a rack, and sensors attached to the device can monitor physical aspects of the system and report them over the network to our automated test suite.
In order to make RAPTOR more accessible to administrators, we would like to create a graphical user interface (web-based) that will allow RAPTOR to be configured visually. The configuration interface should feature a model of a server rack and a palette of rack-mountable hardware items which can be placed onto the rack model. Once a rack configuration is created, it needs to be saved and uploaded to the RAPTOR device. Testers can then select an appropriate configuration to be used by the automated test framework.
We have scoped this project such that a basic application could be implemented over the course of a semester. The development team will have considerable flexibility in the scope of the project as well as the tools used to implement it, however, we do have the following requirements:
Benefits to NC State Students
This project provides an opportunity to attack a real life problem covering the full engineering spectrum from requirements gathering, to research, to design, and finally implementation. This project will provide opportunities for creativity and innovation. EMC will work with the team closely to provide guidance and give customer feedback as necessary to maintain project scope and size. The project will give team members an exposure to commercial software development.
Benefits to EMC
Defining configuration files for the RAPTOR currently involves editing XML files by hand. This is a lackluster and error-prone process. A graphical interface for creating the XML files will allow the process to be faster and easier. It will also allow administrators to easily verify configuration files by visually comparing the rack model on screen with a physical rack in the server room.
EMC Corporation is the world's leading developer and provider of information infrastructure technology and solutions. We help organizations of every size around the world keep their most essential digital information protected, secure, and continuously available.
We are among the 10 most valuable IT product companies in the world. We are driven to perform, to partner, to execute. We go about our jobs with a passion for delivering results that exceed our customers' expectations for quality, service, innovation, and interaction. We pride ourselves on doing what's right and on putting our customers' best interests first. We lead change and change to lead. We are devoted to advancing our people, customers, industry, and community. We say what we mean and do what we say. We are EMC, where information lives.
We help enterprises of all sizes manage their growing volumes of information—from creation to disposal—according to its changing value to the business through information lifecycle management (ILM) strategies. We combine our best-of-breed platforms, software, and services into high-value, low-risk information infrastructure solutions that help organizations maximize the value of their information assets, improve service levels, lower costs, react quickly to change, achieve compliance with regulations, protect information from loss and unauthorized access, and manage and automate more of their overall infrastructure. These solutions integrate networked storage technologies, storage systems, software, and services.
EMC's mission is to help organizations of all sizes get the most value from their information and their relationships with our company.
The Research Triangle Park Software Design Center is an EMC software design center.
EMC where information lives.
FIMT Global Operations – Central Services
Fidelity's FIMT Global Operations – Central Services team ("Fidelity CS") has several responsibilities, the primary of which is production incident management and communication.
Fidelity CS currently maintains an Excel spreadsheet, used for tracking the progress of incidents that have had email communications (FIMT Alerts) sent. The spreadsheet also has several columns of calculated fields which are used for various metrics charts that are also maintained in the spreadsheet. Each communicated incident will generate emails which are delivered to interested parties, including senior management members.
To help ensure the quality of these FIMT Alerts, checklists are employed to guarantee a consistent look-and-feel among the emails. Further, checklists are also employed to ensure that the incident tracking system of record (ServiceManager) has the necessary updates throughout the lifecycle of the incident.
Challenges arise during heavy volume periods in keeping the spreadsheet updated. Since the spreadsheet can only be edited by one team member at a time, updates are often late or missing in the spreadsheet. The spreadsheet is manual-entry with no cross-validation with ServiceManager, so there can be quality gaps as well.
Fidelity CS proposes converting this Excel-based workflow into a database-based one. Fidelity CS is flexible with the technologies used, but prefers a relational database backend.
The following are broad requirements of the project:
CORE MODULE: Communication Logging
Convert the core workbook data to relational database tables, including all metadata.
CORE MODULE: Reporting
Create routines to duplicate the calculated fields in the workbook, including:
CORE MODULE: Alert Creation and Email
Develop a repository/set of screens for the generation of the FIMT Alerts.
MODULE: "Approval" workflow
Develop a process/set of screens to manage the need for approvals prior to a final communication on an issue to be delivered. This process helps ensure the accuracy of the text
MODULE: Post-Mortem Meeting Tracking & Follow-Up Items
Develop a repository/set of screens to track meeting minutes and associated follow up items.
MODULE: Problem Review Document Creation
For each high-priority issue, and problem review document must be created. A subset of the data points from the above modules will be used along with specific data points for this document
A Unified Tool for Managing JUNOS Device Topologies
Juniper Networks, Inc. designs, develops, and sells products and services that provide network infrastructure for networking requirements of service providers, enterprises, governments, and research and public sector organizations worldwide. The company operates in two segments - Platform Systems Division and Software Solutions Division. The Platform Systems Division segment primarily provides scalable routing and switching products that are used to control and direct network traffic. It offers ACX, E, M, MX, PTX, and T series routing products and services; switching products and services for EX series, wireless local area network solutions, and QFabric systems; branch SRX, branch firewall, and J series security/other products and services; and JUNOS Space, a network application platform. The Software Solutions Division segment offers software solutions focused on network security and network services applications. Its products include SRX series services gateways for data centers; SSG, ISG, and NetScreen series firewall and VPN systems and appliances; JUNOS Pulse, JUNOS Pulse mobile security suite, and SA series secure access appliances; and routing services software and mobile applications, such as MobileNext. Juniper Networks, Inc. was founded in 1996 and is headquartered in Sunnyvale, California.
JUNOS is the operating system that runs on most of Juniper's networking equipment. It is Juniper's single in-house network operating system spanning routing, switching and security platforms on its router products. Juniper JUNOS was the first commercially available full-fledged modular OS with full memory protection available for routing products. Although JUNOS was originally derived from FreeBSD, subsequent product development resulted in major kernel and infrastructure improvements (like In-Service Software Upgrade and real-time packet forwarding plane).
Virtualization allows us to create a virtual (not-real) version of something physical. Virtualization has its roots from mid previous century where expensive mainframe computer resources were divided to run various applications. Virtual Machine Manager (VMM) is the name given to the infrastructure that allows developers and testers to dynamically create Virtual Machines (VM) capable of running a JUNOS. Users can create anything from a small configuration of routers VMs right up to a large network of router VMs interconnected by user specified and configured network connections. Benefits of such a system of virtual JUNOS devices are:
Currently we have a plenty of internal tools and methods which are created over time and provide various functions to create these virtual machines. We have mechanisms to connect virtual machines to physical machines. We have mechanisms to create and destroy virtual machines. We have mechanisms to run regression tests on virtual machines. But all of these tools have special requirements and confuse users. Hence a lot of onus falls on the users to ensure the correctness of the tools in terms of usage & familiarity.
We are looking for NSCU Seniors to understand Juniper's current set of tools for managing virtual JUNOS devices. Once the students understand what we have, they can create a unified tool for managing JUNOS device topologies for testing and training. This single interface should be able to make use of all existing tools and ease the workflow for the users. At the end of the project a user inside Juniper will be:
All of the above does assume that all existing servers are used as-is. We can certainly assume that this new methodology will be able to execute existing (& new scripts) remotely.
This new interface must run on Windows, Mac and Unix boxes. Its benefits include:
Mersive Interactive Interface Design and Implementation
The Mersive Solstice (WX-32) is a large format hi-definition display that occupies a wall surface area of approximately 9' by 17'. It consists of a surface upon which 6 hi-definition digital projectors (HDDPs) display imagery, by front projection, and a high performance personal computer (HPPC). The HDDPs are driven by the output from the HPPC that generates displayed images for each HDDP. These images have been processed so that along each of the overlap regions associated with neighboring HDDPs, the image has been blended in such a way that there is no discernable border between HDDP displayed images. The online specification sheet is found at
The imagery fed into the HPPC comes from several sources including direct network connections; WiFi enabled phones, tablets and computers; and (possibly) a video capture card. The images from different sources are mixed on the HPPC, with compensation (by image blending) made for the boundary effects of overlapping HDDPs. The resulting imagery is then projected seamlessly by the array of HDDPs on the display surface. The user of each source controls the imagery generated by each source. An assigned main user or "Orchestrator" controls the organization of all sources upon the aggregate Mersive display. The Orchestrator can be any one of the several users controlling the source imagery including the controller of the main HPPC or any one of the other sources.
One may envision the Mersive display as analogous to big iPad--without the touch reactive screen. The Goal of the SDC Project is to make the Mersive touch interactive in a variety of ways. The goal sequence becomes more sophisticated and is as follows:
A comprehensive solution to these problems may require an SDC team to build a framework upon which these and other problems may be solved; or it may simply be the case that each is a "one-off" solution. Hardware and software design and development will be required of the participating team—as will a plan for "use cases" associated with the goals. The LAS is located on campus and will be on hand to the SDC Project team as needed.
In the course of this SDC Project we hope to engage with the Mersive technical leaders as necessary. As such, any Intellectual Property generated by the SDC Project team will remain with the team contingent upon any Non-Disclosure Agreements executed with participating entities.
A very common file-system practice is to use non-volatile memory as a journal to record operations that have been acknowledged to have completed, but have yet to be written to permanent storage such as HDDs. In the event of an unplanned shutdown, upon reboot this journal is replayed to restore the file-system back to its pre-crash state. To provide high availability, this journal is typically mirrored to one or more nodes within a cluster. This means that non-volatile memory must be available on at least two nodes and data must be written locally as well as remotely before a server can send completion status back to a client for a file-modifying operation. The most simplistic approach for ensuring memory is available both locally and remotely is with static partitioning. Static partitioning is when a file-system pre-allocates a fixed and unchangeable amount of non-volatile memory based on the number of mirroring targets within the HA group. Static partitioning is attractive because it has the invariant that if you can acquire non-volatile memory locally, you are guaranteed to have memory on a remote node as well. Static partitioning of non-volatile memory used for journaling can lead to an astonishing amount of wasted resources especially when the load is not distributed equally across all nodes in the cluster. Hence, the need to support dynamic partitioning of non-volatile memory.
This project calls for the development of an algorithm to support dynamic partitioning of memory that is shared across 2 or more nodes within a storage cluster. The algorithm of choice must provide consistent performance in terms of IOPs and latencies across all of the nodes within the cluster. The algorithm must account for file-system constraints such as the inability to reclaim memory used for journaling until those memory contents have been de-staged to disk. This can be emulated by sleeping a few seconds before re-using the memory. Other file-system constraints to consider include:
Students are encouraged to develop and measure the effectiveness of their algorithm with SimPy, an event driven simulation framework based on Python. The performance evaluation should be based on statistics instrumented and collected within this framework.
Students will need to make the appropriate trade-offs to determine the best algorithm to deliver consistent performance while not severely impacting peak performance. Things to consider (ordered in terms of importance):
Students will be contributing to the solution of a real life problem which is determining the most efficient means to manage a common resource throughout a cluster. This project has several components which are suitable for team-based course work:
NetApp creates innovative products — storage systems and software that help customers around the world store, manage, protect, and retain one of their most precious corporate assets: their data
The NetApp Support Site is the support portal for all NetApp customers and partners to obtain technical and non-technical support for NetApp products. Within the last year, NetApp has expanded the IT Application Development team that makes enhancements to the Support Site. The new team is using the Agile development methodology. Depending on the workload and the amount of supplemental labor added to the team, the development team may be composed of from 1 to 5 separate scrum teams.
In order to track the progress of agile development work, the team uses Rally (https://rally1.rallydev.com). Rally is a software as a service tool that is designed to track the development progress on user stories. Each user story has a state (defined, in-progress, completed or accepted). Rally has the capability to create multiple scrum teams and projects, each having its own sprints, epics and user stories. Individual members of scrum teams are expected to log work progress in Rally and maintain the data on an ongoing basis.
While the Rally tool has the capability to track testing defects, NetApp has used HP Application Lifecycle Management (ALM) for test management and tracking defects for many years. ALM is widely understood by development staff and business customers who perform application testing. As a result, the decision has been made to continue use of ALM for test management and defect tracking. All test cases are recorded in ALM. All test results are logged in the tool.
Usage of both Rally and ALM makes it difficult for the NetApp Support Site development team (Dev Team) to get a complete picture of the status and quality of development work. Rally alone can provide development status information. ALM alone can provide defect information, but a consolidated view is necessary for a complete understanding.
The Dev Team is asking the Senior Design project team (SD Project Team) to solve this business problem. Our initial thoughts are that appropriate data elements from each system could be assembled in some type of reporting repository which would be used by project leaders and management to monitor the progress and quality of work and to assure the team's commitments are met.
Other relevant information includes:
Minimum Acceptable Product is:
"Stretch" Features Could Include:
Bronto Software tracks billions of events per month through its marketing platform. Events such as opens, clicks, and conversions (to track revenue) are processed in real-time and displayed to our customers to give them information on how their campaigns are performing.
Your Senior Design team project will be asked to create the Bronto Firehose -- a streaming HTTP service that allows our customers to stream their tracking events in real-time. This streaming service will pull raw tracking events from Redis, enrich them with GeoIP information, and push them out to subscribing HTTP connections.
In addition to building the Bronto Firehose, you will also implement a Websocket UI that demonstrates these opens/clicks/conversions on a US map in real-time.
You can choose to implement your HTTP service in Node.js, Python, Java or Scala. You will be using Redis as a datastore for the raw tracking events and for any other data storage your might need. Bronto will provide the raw tracking events and GeoIP data.
Students working on this team will get great exposure to Redis, Websockets and writing solid, scalable HTTP services.
Bronto Software provides the leading marketing platform for online and multi-channel retailers to drive revenue through email, mobile and social campaigns.
Over 1000 organizations including Party City, Etsy, Gander Mountain, Dean & Deluca, and Trek Bikes rely on Bronto to increase revenue through interactive marketing.
Bronto has recently won several awards:
In 2002, Bronto was co-founded by Joe Colopy and Chaz Felix out of Joe's house in Durham, North Carolina. Since its humble beginnings, Bronto has emerged as a leader with a robust yet intuitive marketing platform for commerce-driven marketers.
Bronto's long-term focus on its customers, products and employees is now resulting in accelerated growth - its 60% growth in 2010 contributed to being listed as one of Inc Magazine's Top 100 fastest growing software companies.
Growing companies and organizations are constantly changing. Adding, moving, and restacking people and teams to different desks, or different floors is a challenge to keep straight. Often, this type of problem is solved with via an ad hoc collection of tools poorly suited to the problem. Even with shared spreadsheets, presentations and other documents, collaboration and flexibility may be severely limited. A better and more interactive way is needed to handle this issue.
Deutsche Bank Global Technologies and Space
DBGT is growing at a very fast rate. We have already doubled in size in 2013 and plan to double again in the next 2 years. We are constantly shifting people and teams to new areas or spaces as they open up. This takes a lot of planning, documentation, and updating of several spreadsheets, power points, and other internal system information to keep equipment and desks assigned. In preparation for a move, several different options are reviewed and shared with the various domain leadership for feedback. Once everyone is settled, reports are needed for occupancy levels, equipment usage, etc.
This Semester’s Assignment
We are looking for a group of dynamic students who can help design and develop a user-centric tool to help organize, manipulate and share the location information in a rich and engaging way. This can then be used to demonstrate, present, and inform products, teams, or organizations about their current and future location. Deutsche Bank can provide a representative data set(s) and knowledge of our current and future situations, but we need your ideas and technical expertise to create a dynamic solution.
NCSU Student Experience
Senior Design students in the College of Engineering, Department of Computer Science and students at the College of Design will possibly partner over the course of the semester to design, refine and develop this office management tool. Students will have access to top industry professionals to assist in the design principles, Agile/Scrum practices, overall developing/coding and testing. This will give the team a real-world experience of collaboration in product development.
Fujitsu America is one of the top three suppliers of retail systems and services worldwide. Using Microsoft’s .NET development platform, these systems offer a high performance yet open platform that retailers as diverse as Nordstrom, RadioShack and Dressbarn are able to customize.
For the Spring 2014 project, Fujitsu would like to expand this application to work correctly on more platforms and have improved functionality. In extending the existing implementation, the senior design team will have broad latitude to refactor, redesign and replace existing components as necessary.
The application should be enhanced as follows:
The functionality should be enhanced as follows:
As part of this project the Team will be responsible for the following:
Application Dashboard Project Summary
At Humana, we have a system called Operation Consumer Hub. This operational system has demographic data, analytical enrichments, and insights for current members and people who may purchase insurance products. This system processes different feeds/text files from different sources via Extract Transform Load (ETL) SQL Server Integration Services (SSIS) processes. For performance reasons, this information is first inserted into a staging database and then deltas are extracted and loaded into the primary database (SQL Server R2). This data gets exposed via a Windows Communication Framework (WCF) service to different consumers across the enterprise.
The database not only maintains information about members and prospective members, but it also stores logging information about the files, data feeds and ETL processes used for data import. Likewise, as WCF service calls are used to access information in the database, log entries are inserted to record what service was used, from where and how long it took. Thus, the database not only contains information of interest to the enterprise, it also contains a good deal of meta-information reflecting the status of the database and related software.
This project is focused on making this information readily accessible. The NCSU senior design team will design and implement a dashboard providing a holistic view of the current state, the health of the application, results of file processing logged by ETL processes, and service consumptions reporting. This would be a valuable tool for management and the production support team for both trend visibility and proactive application monitoring.
The Spring 2014 senior design team will design and implement a one-page dashboard displaying the following:
Students will be required to sign over IP to Humana at first sponsor meeting.
Unlock the Power of Ipreo's World Class Financial Services Content. Ipreo's DAVOS suite of technology (Data and Visualization on Steroids) is a Service Oriented Architecture (SOA) framework which is used as the standard at Ipreo for flexible access to content. The framework is so powerful that end users can make a new Service on the fly! As illustrated in the following video recording, end users can visually mash up different services into a powerful result set to manipulate and analyze.
The problem is that the DAVOS user interface and technology is so powerful it is complicated to use, and, as such, adoption of the front end is limited to a small number of power users. We need a new technology and design approach that will make it simple for end users to use and unlock the power of this awesome data to the masses (our clients)!
The existing user interface is built in Silverlight. The scope of the project is to replace the technology used in the interface itself related to the “Analyzer” depicted above and also included in part of the video recording. We want to modernize the technology stack, make the user interface more intuitive for end users and make it available from mobile devices. The combination of using a modern, browser-agnostic technology like HTML 5 with responsive design and an easier to user interface will unlock the power.
As part of this project the team will have access to Ipreo Data and Ipreo source code. The data are available via services that are already defined. Throughout the project, the team will be supported by Ipreo sponsors, including technology and design experts.
A successful solution will satisfy the following:
DAVOS is our strategic data access platform. This platform has many flexible components geared towards getting you the web service you need when you need it. The DAVOS API comprises DAVOS Services that are managed dynamically with the DAVOS user interface.
Our strategy has been to move towards a service-oriented architecture to power our platforms and allow for integration of data across our product offerings. Ipreo has many different products with powerful data underneath, all powered by DAVOS services. These services are discoverable in our Pavilion of services, and consumers of the services can even use them to build their own libraries as needed.
Data is available in a variety of formats from the Davos API such as OData and JSON. Data sets include the following:
This is just a small example. Our data is always growing!
Ipreo is a global leader in providing market intelligence, data, and technology solutions to all participants in the global capital markets, including sell-side banks, publicly traded companies, and buy-side institutions. From new issuance through ongoing investor management, our unique solutions drive connectivity and efficiency throughout all stages of the capital-raising process. Ipreo is a KKR portfolio company with more than 800 employees supporting clients in every major financial hub around the world.
Ipreo officially opened its Raleigh, North Carolina office in October of 2013 and already has over 125 people in downtown Raleigh. The office is a brand new state of the art modern open office space on the 9th floor of 421 Fayetteville Street.
Web-Based Search & Visualization of Customer Data
MetLife is a leading provider of insurance and other financial services to customers across the United States, Japan, Latin America, the Middle East, Asia, and Europe. The company serves individuals and corporations, as well as other institutions and their employees. MetLife, Inc. sells its products through sales forces, third-party organizations, independent agents, and property and casualty specialists, as well as through career agency, bancassurance, direct marketing, brokerage, and e-commerce channels. The company was founded in 1863 and is based in New York, New York.
Project Background & Description
MetLife has close to 90 Million customers across the various products and business lines. The customer information is today maintained in a centralized system within a data repository. The data consists of a rich set of information regarding our individual and group/corporate customers. This includes basic indicative attributes such as name, age, address, sex as well as a wide variety of demographic and psychographic information such as class, education, hobbies, interests etc. The data also contains relationship information such as households. In addition, future release of the system may include additional policy and transactional information.
Currently, it is difficult for the business analysts within the company to search and explore this information for research purposes. This is due to legacy reasons in how the data is currently stored (highly normalized). The proposal is for building a web based search and data visualization tool. This tool will make it easy for the user to efficiently search for the customer information, and it will provide a rich set of visualizations for presenting the search results in interesting and informative ways.
Though there are commercial search engines available, we would like NC State students to leverage the many available open source tools and libraries to devise a solution. The team will work with experts at MetLife to define project requirements, including a set of supported queries and corresponding visualizations. The team will be responsible for selecting suitable technologies for the implementation. As MetLife is adopting the Hadoop architecture, we encourage use of open JEE architecture, the Hadoop-ecosystem-based tools and use of open visualization tools such as D3.js.
Homework assignments and quizzes are important parts of education. They let students practice and internalize the material, and they give both student and instructor vital feedback on how much learning has occurred.
Unfortunately, students with disabilities can face a challenge. If the instructor is not good at preparing accessible work, a student with disabilities may not get the same education. Tablet computers like the iPad offer built-in accessibility features, but these features need readily available tools to make them useful for teaching and learning.
Last semester (Fall 2013), the Senior Design Center created Quizard – an accessible online homework and quiz application for teachers and students. The application uses the new ARIA tags in HTML5 to improve accessibility, with specific accessibility goals defined by the Web Content Accessibility Guidelines (WCAG 2.0).
The Spring 2014 team will enhance Quizard in three important areas:
The Senior Design team will be supported by a SAS team that includes software accessibility experts (one of whom is visually impaired), user experience designers, a teacher of visually impaired students, and a seeing-eye dog! You will get a chance to conduct some usability tests at the Governor Morehead School for the Blind, located just on the other side of Pullen Park from the main NC State University campus. For more information about some of the experts you’ll be working with, see:
Students will be required to sign over IP to SAS at first sponsor meeting.
Social Data Analysis
The goal of the project is to leverage the Teradata Unified Data Architecture in order to find patterns in data. The Teradata UDA incorporates structured data such as from a database, semi-structured such as from web logs and unstructured data such as from social network posts for fueling business intelligence, analytics and applications. In this project, students will collaborate with their Teradata sponsors to use the provided unstructured and semi-structured data to perform analysis and transformation using Teradata, Aster and Hadoop to incorporate the results in marketing campaigns. The systems will be provided to team as virtual machines. In the course of this project students will gain exposure to NoSQL, Hadoop, MapReduce, SQL, relational databases and web services.
The project will be run within the Agile Scrum framework. Agile development provides the benefits of early and consistent customer engagement. The Teradata representative will serve as the Product Owner for the Scrum team in order to provide application requirements and to assist with backlog grooming and acceptance criteria. Development will occur in two week Sprints. Planning for tasks will occur at the beginning of the Sprint, checkpoints and backlog grooming will be scheduled mid-Sprint and demonstrations of progress will happen at the end of each Sprint in a Sprint review.
Teradata is the world's largest company focused on integrated data warehousing, big data analytics and business applications. Our powerful solutions portfolio and database are the foundation on which we’ve built our leadership position in business intelligence and are designed to address any business or technology need for companies of all sizes.
Only Teradata gives you the ability to integrate your organization’s data, optimize your business processes, and accelerate new insights like never before. The power unleashed from your data brings confidence to your organization and inspires leaders to think boldly and act decisively for competitive advantage. Learn more at teradata.com.
A System for Training Crime Scene Photographers Using Procedural Content Generation in Games
Overview. This project involves the development of a novel game-based system to help train crime scene photographers within the IC-CRIME system. IC-CRIME is a game-based tool for use by crime scene investigators to model real-world crime scenes, link objects in the virtual scene to real world databases (e.g., fingerprint, hair and fiber) and collaborate with detectives and criminologists within a 3D virtual environment. One of IC-CRIME’s key features will be the ability for crime scene photographers to make use of the system to practice skills needed to produce effective photographs while obeying rules regarding preservation of evidence (more information about IC-CRIME is available at http://iccrime.ncsu.edu).
Figure 1. A sample screenshot from an IC-CRIME collaborative session.
Crime scene photographers often must enter unfamiliar locations where crimes have occurred, locate evidence within the location without assistance of police or lab technicians and photograph the evidence in the context of the scene. These photographs must obey particular framing and content guidelines to maximize evidentiary value. The photographer must take these photographs without disturbing additional evidence within the scene.
Scope of Work. The project will involve students collaborating with the project PI (Young) and a graduate student. The implementation would use C#, a language that many CSC undergraduates are familiar with, and be built on top of the Unity3D game engine, a tool that is also used in many of the games-specific courses in CSC. Because the project would focus on the user interface, no significant 3D programming skills will be required (decreasing start-up time/learning curve) and the existing IC-CRIME team of developers will be available to help the Senior Design team while they are learning the tools and environment.
The project might readily be divided into three elements matching well with a 3 or 4-person team. First, the project requires work to design, create and control a procedural content system that generates crime scenes: interiors of houses and apartments where evidence of crimes has been included (e.g., broken locks on doors, upside down chairs, blood splatter added to walls). Second, the project requires a first person UI that provides the capability for a user to move through the space and enter in to a “photograph” mode, where the user sees the world through the viewfinder of a camera, adjusts the shot and takes the picture. Third, the system requires the ability to tag each photo with the objects and properties that appear within it.
At project initiation, the Senior Design team would work with the IC-CRIME team to develop project requirements and be responsible for brainstorming to settle on a UI, list of variations for the house/apartment/crime scene generation task and the photo tagging process. At the completion of the project, the Senior Design team would be included in the design and execution of an experimental evaluation for the system. This work could involve input on experimental design, data collection and statistical analysis.