Spotlight:



Intro to Programming Languages and Compilers (Repository private as per professor's request)

Building a complete compiler for the "cats" educational computer language built using JavaCUP and JLex. The compiler was made up of five parts: The Lexical Analyser (scanner), The Syntax Analyzer (parser), The Name Checker, The Type Checker and The Code Generator.



Computational Photography

Many image manipulation functions built using MatLab: Histogram Equalization, Demosaicing, Color Transfer, Seam Carving and Paronama Generation. The Color Transfer function produced some really interesting images (shown on the project page).



This Websites GitHub repository :D

My first website! I made this website to reenforce concepts learned from a book on web design, HTML, Javascript, CSS and PHP. Although this website is static and therefore I did not practice my Javascript and PHP I still learned a lot. One day I hope to be able to have my own domain name where I can build a dynamic website.


Digital Design:


Some old Electrical Engineering projects. I haven't looked at these for quite a while but I hope to one day document them with their own website like I have for the projects in the Spotlight section.


Maze Race

Final project hand in for the class "Intro to Microprocessor Design". Maze Race is a game programmed into the Tiva Launch Pad, which included an ARM micro controller, GPIO (General Purpose Input/Output) pins, UARTs (Universal Asynchronous Receiver/Transmitter), ICEs in addition to other components. An LCD screen, PS2 Joystick, buttons, LEDs, potentiometers and a wireless dongle were also added. The game involved two Tiva Launch Pads, with a maze loaded onto the LCD. The player that manages to guide a dot through the maze first wins.



Intro to Microprocessor Lab

This project involved teaching a wheeled Plexis Robot with a Tiva Launch pad attached how to navigate a maze autonomously using the left hand rule. Although our robot hung up on an obstacle once it recorded the fastest maze completion time that year (2015).


Miscellaneous:


Small scripts, ongoing/incomplete projects and more.


Paramiko Wrapper

A wrapper class for the Python module Paramiko. Paramiko allows you to communicate wih other servers using SSH. This wrapper class simplifies the process and takes it up a level. It makes sending commands, including sudo commands, easy while returning the standard error, standard output and return value.



My Hacker Rank Solutions

Solutions to problems I have solved on hackerrank.com. A good website for puzzles to help you practice fundamental computer science concepts. I hope to one day finish all the problems on the website.