Command-line version of the boardgame Othello, written in Haskell. Playable by 2 players or 1 player against an AI that looks ahead 4 moves.
Simple Operating System, written in C, consisting of a kernel, shell & file system. I shared responsibility for the kernel which maintains all of the state of the processes being handled by the operating system over six different queues: 3 scheduling queues of priority -1, 0 and 1 (queue_1, queue_2, and queue_3 respectively), a queue of sleeping processes called 'sleep', a queue of blocked processes called 'blocked', and a queue of stopped processes called 'stopped'. Using these queues and the pcb_t data structures that they contain, we are able to perform a number of operations such as spawning a new process, killing a process, resetting a process's priority, and other process-related functions.
Node.js web application to predict the availability of study spaces at the University of Pennsylvania using a Decision Tree Regressor. The user can provide feedback as to whether the prediction was helpful thus tuning the DTR over time to yield more accurate predictions.
Node.js social networking site to facilitate trip planning. Users can create a trip, post photos and other content, invite users to trips, like content, and see all of this in a newsfeed. Users can also search for other users, user's photos or trip locations. There is a MongoDB-backed cache to reduce look-up time for already-searched items.