Projects
Machine Learning for Cheetah Image Segmentation- Identified and segmented the cheetah part in an image based on the multivariate Gaussian model with parameters generated from MLE, MAP, Bayesian estimation, EM algorithm respectively in Python
- Evaluated and improved the performance of each classifier to reduce the probability of error to 0.5%
Operating System - Nachos
- Implemented a teaching operating system supporting multi-threading, multi-programming, virtual memory, and file system in Java
- Implemented multi-threading functionality with synchronization using Lock and Condition Variable
- Implemented main functionalities of file system such as create, open, read, write, and close.
- Implemented virtual memory, page table, and demand paging to support multi-programming.
Cloud Storage Service
- Create a networked storage application modelled after Dropbox which provides syncing files to and from cloud in Go. Built the server based on Http/1.1 protocol specification
- Implemented a distributed key-value store service with gossip-based replication modelled after Amazon DynamoDB that stores filed across multiple Dynamo Nodes that connect with clients and other Nodes via RPC calls
- Adopted replicated state machine, vector clocks and quorum-typed read write for distributed design.
- Unit-tested the project to over 85% coverage. Developed command-line interface for the service for ease of use. Deployed the server to AWS Elastic Computing services.