Senior Capstone Portfolio
Chatroom: This chatroom application we implemented in CMPT 352 was a good example of a large scale project that dealt with large scale networking principles. This project was time intensive, and one of the larger projects I completed during my time at Westminster, so it was something that I was proud of upon the completion, as well as something I would like to have on hand for future reference if I need to use networking tools again. The goals this project met were: To attain a system level understanding of the computer To acquire significant project experience working both individually and in a group setting
Mini-Scheme: This assignment consisted of building a mini language, Scheme. We worked in groups and implemented a bunch of features for this mini language, some of them being cond, let, and, and while. We also had to expand these uses into macros. I chose this assignment because it was completely different from anything I had done before, and also very difficult. I had to learn a lot of new skills, and a completely new language that we were supposed to build from the bottom up, in order to make this functional. I have no other experience actually building a language so this was an impressive feat, and something I would like to have in my final portfolio. The goals this project met were: To develop effective problem solving skills To acquire significant project experience working both individually and in a group setting
Sox aka RateMyRun app: This project, was my most impressive programming project that I completed during my time at Westminster, and I chose it because it required me to learn and implement a wide variety of new and old skills, platforms, and languages, as well as work in a difficult group setting that required a lot of teamwork and collaboration. I also felt this was both something I am proud of and would like to have to look back on for reference when making apps in the future, as well have on hand to show future employers. The Computer Science learning goals this project met were extensive, but it clearly met To understand the concepts and techniques of software design To acquire significant project experience working both individually and in a group setting To develop effective problem solving skills
Brain: This project was chosen because it was also in a new language and required the use of new skills I hadn’t used before like functional programming in Elm and creating a web page in HTML and CSS. This proved to be a trickier assignment than I initially thought it would be, and required significant problem solving just trying to understand the goals of the language and of functional programming in general. Although the end result was not as impressive as some of my other projects, I chose this because it used entirely different languages and I wanted diversity in my final portfolio. The goals this project met were: To develop effective problem solving skills To understand the concepts and techniques of software design
AI: This project required the use of Python, so I chose it because of its language diversity and subject diversity as well. It was also a significant project in my time at Westminster and covered an interesting topic, so it was something I would like to have to reference in the future. It required implementing a neural network and then fitting and running tests on the neural network. The goals this project met were: To acquire significant project experience working both individually and in a group setting