Selected Undergraduate Course Projects

Undergraduate Course Projects

  • Image Processing
    • Implemented algorithms for basic image operations (threshold, histogram, structure element operation, dilation/erosion, opening/closing) and morphological operations (distance transform, skeleton and its restoration, edge detection, gradient)
    • Implemented an algorithm to detect the edge of human faces based skin color and OpenCV.



    Fig.1 Image Processor


    Fig.2 Face Detector
  • 3D Game Development
    Designed and implemented 3D flight games with features of 3D maps, animation, and shadow based on OpenGL.


    Fig.3 Flight Simulator


    Fig.4 Shadow

  • MiniJava Compiler
    Designed and implemented the type-checking phase.
    Designed and implemented an IDE-like GUI to show syntax tree and compilation errors.


    Fig.5 MiniJava Compiler
  • Nachos
    Implemented modules of thread synchronization, multiprogramming and system call.
    Designed and implemented demand-paged virtual memory management with swap and copy-on-write.

  • Robot walker
    Designed an efficient algorithm to find a path for a cylinder-shaped robot on a road with randomly-distributed obstacles.
    Implemented an algorithm to recognize center coordinates and radiuses of circular obstacles in an image.


    Fig.6 Robot Walker
  • 5-tiered Stock Simulation System
    • Designed an MVC architecture with techniques of database trigger, Axis, RMI, Http Tunneling, Servlet and Applet
    • Designed and implemented the crucial feature: push of real-time stock prices from server to clients
    • Integrated different tiers of the system, debugged the system and fixed bugs


  • Detect Overlap Areas of Two Irregular Polygons
    Designed the algorithm to detect the overlapped areas of two irregular polygons and implemented it with Java Swing.


    Fig.7 Overlap Areas Detector