The Root Project

Reverse Gerrymandering

    • Java
    • Spring
    • MySQL
    • JPA


    The course project is a simplified version of Violet UML Editor. One thing that this project is different from the Violet UML Editor is that it could generate java skeleton code from the design.

  • => Violet UML Editor
    • Java
    • JavaFx

    Lawn Mower

    This course project is based on the DOS Lawn Mower.
    we were tested on memory organization and multi-dimensional arrays in memory.
    The challenging part of this project was the manipulation of the values in each pixel that is visited.
    (* Each pixel in the map is made up of a 2-byte value, stored in a 2-d array in row major order. The first byte represents the ascii character (the objects in the game: mower, flowers, rocks, and etc.), the second byte represents the fore/backgroud colors.)

    • MIPS Assembly

    Memory Allocator

    By implementing a memory allocator, I learned the inner working of *alloc and free operations, and more importantly, pointer arithmetics.
    In this assignment, we were given the wrapper function of the system call sbrk(), and we were to implement malloc(), realloc(), and free() functions utilizing an explicit free list, without using the existing glibc built-in functions.

    • Unix
    • C

    Bash Shell

    Systems Fundamentals Interactive Shell
    From the project of implementing a shell inside a shell, in addition to the knowledge involved in this project, such as system calls: fork(), exec*(), process execution, and the inner working of a shell, I also learned the importance of performance in the design process.

    • Unix
    • C

    Interest Groups

    This project uses internet domain sockets to support interest-based discussion groups with multi-user.
    • Java
    • Socket Programming

    Facebook Clone

    This is a simplified version of facebook.
    I am responsible for the backend and the general planning of the project.
    • Apache
    • MySQL
    • PHP

    More Ideas Brewing...