Department - Author 1

Computer Science Department

Degree Name - Author 1

BS in Computer Science



Primary Advisor

Aaron Keen


For my senior project, I implemented Professor Keen’s JSish spec in C++. JSish is a subset of Javascript with support for execution from the command line and files.

I chose this project because I wanted to reinforce my programing language skills, learn C++, and gain a deeper understanding of garbage collection.

I quickly grew familiar with C++. My prior experience with both C and Java was a good enough introduction to let me hit the ground running. The biggest hurdle for me was the lack of garbage collection built into C++. I understood the principles of manual memory management, but I needed to grow accustomed to manually freeing memory in a complex, object oriented environment.

The most educational part of this project was writing the garbage collector. It was both an illuminating experience because I had never written one before, and very practical because it gave me insight to how modern languages run.