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