Previous Work


  • Language: C and Java
  • IDE: Visual Studio and Android Studio
  • Description: Tomorrome is a smart home monitoring and controlling system developed by myself for personal interest. This project has three main parts: controller, control apps(Android/iOS), and Server. Currently, the controller is installed on a car model (50 x 20 x 10), which is equipped with a 4 Degrees of Freedom Robotic Arm. A high-resolution security camera is connected to the controller. And a WiFi module installed OpenWRT firmware is connected with the controller for remote controlling.
    GitHub YouTube


  • Language: C, Java, Perl, PHP, HTML, and CSS
  • Platform: Apache and MySQL
  • Description: NetEye is a wireless sensor network experimental facility deployed in State hall building at Wayne state University. NetEye has 130 .NOW sensor nodes connected through USART to 15 Dell Vostro 1400 laptops. The laptops are connected through wired ethernet. NetEye provides a public, permanent testbed for development and testing of sensor network applications via an intuitive web-based interface. Registered users can upload executables, associate those executables with motes to create a job, and schedule the job to be run on NetEye. NetEye will facilitate research in sensor network programming environments, communication protocols, system design, and applications.


  • Language: C
  • IDE: Visual Studio
  • Description: MC-PRKS is a practical distributed scheduling algorithm providing both high link-level reliability and high concurrency for Wireless Networked Sensing and Control. This wireless network protocol was implemented on .NOW notes from scratch: refined the theoretical closed-loop controller using measurement data, split code into resuable encapsulated components, adn organized the components in network layers. The protocol was debugged and deployed on NetEye. In the meantime, many non-repeatable and timing-dependent bugs caused by race conditions and inconsistent distributed states, are fixed. The collected experiment results showed that MC-PRKS increased link reliability from as low as 0% in the state of the art to 95% link reliability and provided high concurrency. MC-PRKS will be integrated to a Wireless Networked Sensing and Control framework for real applications.


  • Language: Java
  • Framework: Hadoop
  • Description: This is a project for course CSC7260. In this project, I first built a N-Gram library from the books and a language model based on the library and counts. Then the language model and the counts are put into MySQL. With the database, the user input could be automatically completed with top-10 possible results. The program was run on 10 VMs, with one of them acting as master and others acting as slaves.


  • Language: Java
  • Framework: MongoDB and Swing
  • Description: This is a project for course CSC7710. The program fist extracted data from JSON files and injected them into MongoDB. Then the programm provided a GUI for users to interact with MongoDB. Users could do CRUD operations on different data entries. Using MapReduce, the program could response very quickly even when dealing with ~70,000 data entries.


  • Language: C
  • IDE: XCode
  • Framework: OpenGL, GLUI, and GLUT
  • Description: This is the final project for course CSC5870. This project built a cow with a file containing ~3,000 coordination data. It also provided a GUI for operating the cow subject, such as moving, rotating, and adjusting the lighting. Via the GUI, you could change the position of your view, and the cow could also be added different kinds of skins.


  • Language: C
  • Platform: Wayne State Univeristy Grid
  • Framework: MPI
  • Description: This ia the final project for course CSC7220. In this project, I designed a parallel quicksort algorithm and implemented the algorithm with MPI. Three different pivot slection strategies were used for the algoirthm. These strategies were evaluated with the sequential suicksort program as the benchmark. Algorithms were tested using different number of processors on the Grid of Wayne State University. Due to the communication overhead, the sequential quicksort algoirthm could have better performance, with the given data set.


  • Language: C and PHP
  • Description: VInsight is a platform for gaining insight into vehicle internals and for enabling high-fidelity, at-scale evaluation of networked Vehicle Sensing and Control (VSC) solutions. VInsight integrates the OpenXC vehicular sensing platform into the Global Environment for Network Innovations (GENI). VInsight deploys a WiMAX research network for integrating high-fidelity real-world vehicular sensing with at-scale NS-3 emulation in GENI cloud computing facilities, and VInsight develops WiMAX measurement tools for understanding WiMAX link characteristics and driving high-fidelity emulation of networked VSC systems. The WiMAX network of VInsight also enables immediate application such as campus safety patrol; this synergy with opt-in users enables the permanent deployment of VInsight for open innovation in networked VSC systems, thus helping develop solutions to address the grand challenges of road transportation today. This projects won Best Demo Award on 21st and 23rd GENI conference.

Message Board

  • Language: Java(JSP), JavaScript, CSS, and HTML
  • Library: JQuery, Bootstrap
  • Description: This is the second project for course CSC5750. This project built a message board system. Users first need to register and log in the system. Then they can send messages to users who are in this system as well. Users can also view their message history and check their past posts. The administer is also provided a tool for administrate the system.

Gomoku Game

  • Language: JavaScript, HTML, and CSS
  • Library: JQuery
  • Description: This is the first project for course CSC5750. Open the game in your browser, you can play with AI player (not as smart as AlphaGo). And it can also use Cookie to calculate the raito of games you win.

Lunch Menu

  • Language: Java
  • IDE: Eclipse
  • Description: This is a project for course CSC5250. With this app, restaraunt can distribute their menu in a week. Students can check the lunch menu in advance and make plan for their lunch.