Here are some fun software projects that I have done.
MOBILE APPS
A Native Android Application on Daily Life Data Collection and Utilization
Teammate: Qiongjie Lin; Languages: Java, XML, and SQLite; Year: 2015
The fast tempo of modern life pushes us to focus more on the outside world instead of the well-being of our own, which is often revealed through small daily events, such as sleep, work, and exercise time. Although important and revealing, these events can be tedious to record, organize and interpret by hand. In this project, we develop an native mobile app to help people efficiently collect and visualize their daily life data (e.g., weather, mood, food, study time, and weight), and to give them feedback on how to improve their well-beings.
The overall design goal is achieved in three parts. First, we provide users a default template consisting of default events to collect their data. At the same time, we also give users the option to customize the templates by adding into the template the events they are interested in. After data collections, we then provide ways to visualize and explore the daily data, in order to help users understand their daily activities better. We also provide feedback on how users can improve their health. Finally, we provide users the options to set their own goals and track the progress. Below are some snapshots of the android app.
Mobile Web App Development for Meuse-Argonne Cemetery for WWI Commemoration [code]
Teammates: Qiongjie Lin, Susan Roberts, Garrett Bosecker; Languages: JavaScript, JQuery, HTML, CSS, SQL, Node.js; Year: 2015
United States (especially Alabama and Georgia) was heavily involved in the last few months of WWI happening on the boarders of France and Germany. US soldiers sacrificed their lives fighting the key battles which eventually led to the victory of the Allies and the ending of the war. To remember the lives of those US soldiers, Meuse-Argonne Cemetery and Croix Rough Farm Memorial have been established on where those battles took place in France. We developed a mobile web application to accompany the above physical memorial sites and help people better remember the history.
The primary users for this app are those interested in or knowledgeable about the history or stories of WWI, such as student, historians, and the family of the soldiers. Through this mobile app, we provide them with:
A source for general information about the last few month of WWI and the physical memorials;
A platform to let people share stories, and interact stories with location, comments, likes and social networking site;
A map to navigate the memorial sites, displaying location-based stories, creating stories on location, and customize tour;
An archive where you search for people, read stories about people, create records (stories) for people;
A management system where you manage stories you told and customized tours.
COMPUTER ARCHITECTURE
Implementation of a Modern Microprocessor Simulator
Teammate: None; Languages: C/C++; Year: 2012
For microprocessors researchers, simulation is a crucial step to the microprocessor design process, where new designs can be bench-marked accurately without making an actual physical chip, and be modified easily to meet new expectations. In this project, we implemented an architecture simulator for accurate timing simulations of the functionalities of crucial components of modem microprocessor, including pipeline, memory system, branch predictor and translation look-aside buffer, and multi-tread execution.
Design and Implementation of a Hybrid Network-on-chip Simulator
Teammate: None; Languages: C/C++; Year: 2012
With the increasing level of integration and complexity of System-on-Chip (SoC), traditional on-chip bus-based communication architectures can no longer adapt to the current design requirements. The emergence of Network-on-Chip (NoC) provides a new solution for future multi-processor SoCs. However, existing electrical NoCs have various disadvantages such as limited bandwidth, long delay, and high power consumption. On the other hand, optical interconnect technology has the advantages such as high communication bandwidth and low transmission losses, which make optical Network-on-Chip (ONoC) a research hot spot in recent years. Effective modeling and simulation tools of ONoC are necessary for ONoC design. In this project, we first summarize the modeling concept and methodologies behind two recent well-known ONoC simulation tools, PheonixSim and DSENT. Then, we propose new parameterized models of ONoC devices, and realize them by implementing a hybrid NoC simulator based on popnet. Lastly, we present case studies of silicon nanophotonic-based hybrid NoCs.
IMAGE/VIDEO PROCESSING
Sobolev Active Contour and its Application in Image Segmentation and Visual Tracking
Teammate: None; Languages: MATLAB; Year: 2013
Image segmentation is the problem of extracting the outlines of different regions in the image and divides the image into regions made up of pixels having something in common. Object tracking is the problem of estimating the trajectory of an object in the image plane as it moves around a scene. In this project, we solve the problem of image segmentation and object tracking using a calculus of variations approach. To do it, we formulate the image segmentation as an optimization problem. We define a functional on contours or curves living in the domain of the image. The energy functional is designed carefully such that the energy becomes small when the curve reaches the object boundary. Ideally, the boundary curve is an extremum point of the energy functional. We then use gradient decent method to solve for the boundary curve. After solving the problem of image segmentation, the object tracking problem can be solved by evolving an initial contour in the previous frame to its new position in the current frame iteratively. The contour energy can be defined in terms of temporal information in the form of either the temporal gradient, or appearance statistics generated from the object and the background regions. The following figures demonstrate the performance of the Sobolev active contour based image segmentation (left) and object tracking (right).