Field Session Projects 2011

Agilent

Over the years, Agilent Technologies, Inc. has produced a large collection of sample automation programs and program snippets that are used to control the equipment that their company manufactures. Presently, this collection has grown unruly and very hard to search, and as such Agilent needs a method to categorize and catalogue the stockpile of sample programs they have accumulated.

We plan to resolve this issue by creating a spider program, in either Ruby or Perl, which will index these snippets and warehouse their locations, as well as other relevant information, in a database or data-store. Then, a front-end GUI, probably in Ruby on Rails, will be constructed to allow quick, logical searches of this database allowing the team members of Agilent a user-friendly way to find their programs. This will increase organization efficiency, as well as facilitate faster responses to customers and save money by reducing time and resources spent finding the programs.

Circle77

Many modern parents struggle to organize the logistics of finding caregivers for their children on a short-term basis. Finding these caregivers, however, is only half the battle. Individual families need to ensure that everyone who has contributed to caring for their children is rewarded appropriately. Many families, rather than hiring a babysitter, will “trade” babysitting time with neighbors and create a sort of social economy. The problem is that many families struggle to keep track of who has babysat, how long they've done it, and how often. Social bookkeeping can get complicated quickly! Families need a centralized, organized, structured, safe, secure, simple, and efficient way to manage not only who does what and when, but also other relevant information about the children and the households that they will take care of.

The goal of this project is to create a "social bookkeeping" web site where families with children can gather together in a safe, secure, and centralized environment (called a "village") to trade "credits" for babysitting time. Since this problem can best be solved by the use of a distributed network of connected people, we have chosen to build a web application. Our web application will be built with modern web technologies such as Ruby on Rails, CSS3/HTML, AJAX, and MongoDB (or a relational database depending on support).

Math City

The Math City game is being designed to encourage the development of math skills at the 5th-grade level. Math City is a simulation in which students can build cities complete with power lines, factories, coal plants, wind-turbines, police stations, and hospitals. The money required to expand the city can be earned through correctly answering math questions. We will be updating this game to include varying weather based on season, as well as solar panels. The weather will affect energy outputs for the wind-turbines and solar panels. These upgrades will allow the game to become more interesting to the user by providing a challenge between managing power and pollution. This will also provide a basis for users to learn the importance of sustainable development. The hope is that with these additions, the user will have to use critical thinking in order to design and implement the best city. In order to accomplish this task, we will implement icons for the solar panels, calculate energy generated by different types of weather, and make sure that the energy output for both the solar panels and the wind turbines varies appropriately with the weather. The tool bar will display the current weather and wind intensity.

We will approach this project by first analyzing the original source code. Before coding any additions to the program, J-Unit tests will be written to ensure the current game functionality is accurate and logical. The existing code base is in need of refactoring and the J-Unit tests will allow this while ensuring functionality. From here it will be possible to develop a way to add the solar panels in an efficient manner. We will also have to develop a way to connect the weather to the solar panels, wind turbines, and power output so that each reacts to the other accordingly. The current code for the game has been developed in Java and all additions will be in Java.

Cognitive Engineering

The human brain is a complex computing machine. As such, research projects involving analysis of brain signals can become complicated to perform without the assistance of analysis software. One such cognitive project, known as the Smart Helmet research project, seeks to augment current technologies to provide the physically disabled with mobility devices they may control with their mind. Project Xavier is a collaboration with this project. We are to provide an applicable set of tools to more efficiently analyze electroencephalogram (EEG) signals for their experimentation.

The requirements for the project include the development of an intuitive graphical user interface (GUI) using Java in Oracle’s NetBeans IDE. The GUI is responsible for displaying collected EEG signals. By implementing EEG4J, a set of java based EEG tools, in our application, we are able to display a graphical representation of the collected signal data. Each component on the interface will have the functionality to be docked, hidden, rearranged, and moved to its own separate window. The application will allow the signals to be saved, loaded, cropped, filtered, and scaled in size. Filtering serves to hide unwanted, user-defined frequencies from the signal. This follows a similar process as that used in DSPExplorer, a digital signal processing IDE. Saved signal patterns, in a binary .eeg format, are to be used in conjunction with a machine learning algorithm to determine if that pattern reappears in future signal acquisitions.

The human mind is an infinitely complex organ. Its subtle nuances and complex design make it a challenge to analyze and impossible to completely understand. The applications of a program that can assist in “reading the mind” are truly limitless. The ability to move a wheelchair with but a thought is an incredible beginning to a future of fascinating technological applications.

SiteSim

The BEST SiteSim (Basic Engineering Software Engineering, Site Simulation) is a program designed by John Petrikovitsch in conjunction with Colorado School of Mines Professor Paul Santi. The software is used to provide students with the opportunity to run drilling investigations in both hydrogeologic and geotechnical simulations. The program works by having students determine drilling locations and appropriate tests when doing investigations, and allows them to get equivalent cost estimates for these tests. SiteSim is currently out of date, meaning that it is currently incompatible with newer operating systems and there are current bugs with the program. The code is written in an unknown scripting language, and is therefore impossible to update from its current state.

The objective of this project is to recreate the software using the Java programming language. Java ensures that the software will be more portable and compatible with modern hardware, software, and networks. The team will be updating the software to conform to modern day development methodologies while maintaining most of the current functionality that the program offers. The current complex file hierarchy will be replaced with a single modern database. The team will also be recreating all of the algorithms and calculations from SiteSim's current functionality. Work on the project will be done such that development can continue after completion of the team's contract.

CONNECT

The original CONNECT (Creating Open Networks aNd Expanding Connections with Technology) project was designed to promote conference attendee interaction. CONNECT allows these attendees to “CONNECT” with one another, or rather, share their profile information. This information can consist of a user’s name, organization, role, interest areas, phone number and email. These are the kind of things that would traditionally be found on a business card. An attendee can send a connection request by entering an id and a comment. The current iteration consists of a website, an android application and support for SMS. These platforms all allow for the attendees to make connections using a variety of different tools. The website allows users to search for other attendees, to make connections, confirm connections and to view all of the connections made. The android iteration allows the users to enter ids with comments, and to search for other attendees. It also has support for "Bump" which allows users to essentially fist bump their phones to transmit the same information. Our goal is to extend this to the iPhone as well as provide for a long term networking vision by implementing Facebook and/or LinkedIn interaction with CONNECT.

The focus of our project is an iPhone implementation of the existing CONNECT project that will utilize many of the same features as the Android platform version, in addition the iPhone app will also implement "Bump" functionality as well as “Search as you type”. The iPhone program will be written in Objective-C using the xCode IDE. We will also delve into the pre-existing social networking sites and conceptualize ways to implement them into this short term networking application so CONNECT can have more longevity in the professional process for CONNECTing individuals. The Facebook and/or LinkedIn program will be written in Java or PHP. The app will utilize the CONNECT application programming interface (API) and utilize all of the previously constructed CONNECT tools. In order for our goals to be reached, a few things need to be done. We will reference the android source code, as well as check out the “Bump” and “Search as you go” APIs. Our desire is to have knowledge of how these work ahead of time so we can accommodate for them prior to even writing the code for them. We unfortunately, cannot use the java version of the application for the iPhone due to cross platform conflicts, but it has provided invaluable knowledge. We will ensure that the iPhone application supports all of the functionality of the android iteration, if not more. The Facebook and/or LinkedIn iteration is focused on a long term networking solution for conference attendees. This will be carried out by allowing Facebook and/or LinkedIn users that also use CONNECT to add a friend from their CONNECT profile to Facebook and/or LinkedIn by perhaps a button on the website or on their moble device app. If we succeed in this proof of concept, eventually CONNECT users will be able to send out a mass request to the CONNECTions they want so they may be added to their Facebook and/or LinkedIn account.

ModsDesigns

Newmont 2 - Hot Intercepts Ticker

Being a competitor in today's market requires the ability to make informed decisions by analyzing important data. For Newmont Mining Corporation, this means being able to access significant exploration results and drillhole intercepts that are received from internal projects, competitors, and junior mining company press results. With this data and associated stock price information, Newmont can identify companies that they may wish to acquire. Currently, this information is summarized and manually distributed approximately every two weeks. Staying up to date on the latest information will give Newmont a competitive advantage.

A mobile application will allow Newmont analysts to view these results on a real-time basis. We will design and develop an Android application in Java in order to meet these needs. The application will display the intercepts and stock prices for their respective companies in a user-friendly way. One key feature to provide usability will be utilizing the Google Maps API to geographically depict the intercepts.

Newmont 4 - Tablet Mapper

Recondo 1: Dashboard

Recondo 2: PRS

Silicon Mountain Technologies

Video has become a prominent component of the Internet. As such, it is critical that the web management system Web Crescendo, a product of Silicon Mountain Technologies, be able to offer such (presently absent) services. These services must be closely integrated into the existing system in a manner both secure and simple for users.

In order to meet this need, a video streaming service will be created and integrated into the Web Crescendo application. This service must contain a streaming media server, a suite of client tools for video integration and a security protocol that allows or restricts video access on a per-user basis. Optionally, a video library mechanism for video management and real-time streaming support may be included.

Symplified

WhoSent.It