Skill Summary


  • Language:
    Java: Language that I am most faimilar with. IDE: Eclipse, netBeans and jGrasp.
    C/C++: One summer of full-time software development. IDE: Visual Studio.
    Matlab: Two-semester school learning with a summer developing image processing programs.
    HTML5, CSS3, Javascript and PHP: A number of website development shown below including the webpage you are currently looking at!
    Python: Recently developed interest in this programmer coding-time efficient language and currently using it to development experiment framework at Altera Inc.
    Visual Basic, Turing, Tcl and Prolog: Languages that I have learned at some history in time which I am no longer familiar with.
  • Algorithms and Data structure:
    - Familiar with foundamental data structures including linked lists, arrays, stacks, queues, hash tables and binary trees.
    - Knowledge about common searching and sorting algorithms including heuristic A* search.
    - Understand concepts about Divide-and-conqur, dynamic programming and linear programming with the ability to utilize them to implement running-time and memory efficient programs.
  • Object-oriented Programming (OOP):
    - Familiar with foundamental OOP concepts including data abstraction, data encryption, inheritance, polymorphism and object-based type castings.
    - Most experience in Java and C++
    - Working experience with different libraries: Google Android API, Facebook Graph API, Microsoft Foundation Class (MFC) and Java Swing package
  • Other facts about me:
    - I like Linux better than Windows. I like Mac OS better than Linux.
    - Knowledge about relational database and SQL language with practical experience in mySql
    - Basic understanding of TCP/IP network fundamentals
    - Sublime Text for my Windows text editor and Vim for Linux

ECC Website


  • A mobile-friendly website demonstrating club information and activities
  • Process ~100 meal purchases each day from the club members
  • Built from scratch with another student Russ Li
  • Frontend is built using HTML5, CSS3 and Javascript with the usage of Jquery and Bootstrap
  • Backend is built using PHP with MySQL database
  • Time of creation: Jul-Aug. 2014
  • Available at: http://ecc.skule.ca

Typing Speed Competition


  • Javascript-based website that has the functionality to measure one's typing speed and accuracy with additional features to compare results with other friends using the Facebook Graph API
  • Originally created as a tool to collect data for the final project for second year statistic course STA286.
  • Built from scratch by myself
  • Time of creation: May. 2013
  • Available at: https://apps.facebook.com/typing_speed_comp/

TDSB Badminton League



  • Created by me and two other group members as the final ISU (Independent Study Unit) for Grade 12 computer science course.
  • Ability for different school managers to schedule mataches, view and keep track of school rankings and individual player's performance.
  • Frontend is built using HTML, CSS and Javascript
  • Backend is built using PHP with MySQL database
  • Time of creation: Jan. 2011
  • Available upon request

Connect of Five Chess Game


  • A simple Java implementation of the traditional Connect of Five Chess Game
  • Allows two users to play against each other with the ability to replay a previous game with an attempt of the AI using the Minimax algorithm to allow the user to play against the computer
  • Originally accomplished by me in 2009 as the ISU for my Grade 11 programming course
  • Executable .jar file can be downloaded from:




  • Instructions on how to execute this project:
       1) Download the Java runtime environment from http://www.java.com/en/download/index.jsp if you do not have it.
       2) Download and run jarfix.exe (a freeware provided by Softpedia) from here to set up theenvironmental variables.
       3) Extract the Connect_of_five_v1.1.zip into some writable directory and double click on the Connect_of_five_v1.1.jar to execute the program.

Online Chatting Website



  • Instant messaging application that allows two registered users to communicate with each other.
  • Was initially created by me in August, 2012 as a practice to study website development technologies.
  • Real-time instant messaging is accomplished via AJax
  • Time of creation: Aug. 2012
  • Available upon request

Game of 24 Card Game


  • Game of 24: a traditional arithmetic card game in which the player manipulates arithmetic operations on four randomly chosen cards to make up the target number 24.
  • Implements this game with a user friendly graphic user interface.
  • Utilize a Binary Expression Tree to display the correct answer for the random selected cards.
  • Time of creation: Dec. 2009
  • An executable version of this project is available from:




  • Instructions on how to run this application on Windows:
       1) Click on the Download Game of 24 button above.
       2) Extract the .zip file into some editable location.
       3) Run Turing.exe under Turing 4.1.1 folder. (Unfortunately, Holt Software, the company that invented Turing went out of business and this language has become a freeware afterwards)
       4) Select File --> Open and find the game_of_24.t file.