I'm very passionate about computer science, so I've spent a lot of time outside of class working on so-called "Side Projects" to further my understanding of programming practices. Here's a handful of the projects I'm most proud of.
Last year, I took the time to create a Tumblr theme from scratch. Using HTML and CSS, I created a theme which makes use of all Tumblr has to offer and can be beautifully fully integrated into any existing blog. You can see a working example of it on my abandoned programming blog which this website has since replaced.
This website is another application of those skills, albeit in a very different manner. I used HTML and CSS to create a "theme" for the site. I also used Pelican, a Python-based application, as a way to generate static content for this site.
As an exercise in C programming, I implemented a terminal-based application to create a version of Klondike (also known as Solitaire). It made heavy use of the kinds of abstract data types I learned in my CS 136 course, such as stacks and queues. I also worked with the ncurses library to offer a graphical interface.
This project developed my ability to design modular programs, something not usually taught in early-level CS courses. It also taught me how to use additional additional C libraries.
Project Euler is a collection of logic puzzles. As exercises, I've created programs to find the answers to the first 30 or so puzzles. I started them largely in Java, but as I continued I've transitioned to doing them in C.
This activity has improved my ability to design algorithms efficiently, as well as generally improve my programming ability.
These projects only scratch the surface of what I've done. In a job I had previously, I used an assembly language to program a simple computer to control the cabin lights in an electric delivery vehicle. In my last co-op, I spent weeks automating the testing of web-based software through the user interface using Ruby and WATIR (Web Application Testing In Ruby). I have a diverse set of skills and the ability to learn new ones quickly.