Christopher Nohilly - ePortfolio

This page will be used to update on my current projects


Project maintained by cnohilly Hosted on GitHub Pages — Theme by mattgraham

Professional Self-Assessment

Introduction

I started in the Computer Science program at Southern New Hampshire University in the Summer of 2019 and prior to this had attended University at Buffalo in New York for Computer Science for 2 years before taking a break. I have always been interested in Computer Science and primarily Software Development and have never questioned my choice of major or career path.

Education

My time at University at Buffalo gave me a very solid basis for my knowledge both in languages like Java and C++ and in core concepts. Completing my coursework at SNHU shows an ability to comprehend the topics being taught or an ability to learn the languages for each course, but also shows an ability to fill in the gaps. Course plans and learning materials do not always cover absolutely everything, so there were many instances where I had to be proactive and go on to learn and teach myself using other sources. I rarely am one to simply say “I can’t” and these courses have been another example of this, where when I have an idea or plan then I will simply work to learn to bring it to fruition. I think a good example would be my artifact for enhancement one and three, where I had a strong knowledge of Java but needed to still push to learn a bit more to be able to complete the user interface in a way in which I wanted. In addition to this, while the courses had taught me some SQL and I had Java knowledge from earlier courses at UB, making the interface between the Java program and MySQL database was something that I had to learn on my own. Most of my collaboration and team environment experience comes from courses I had taken at University at Buffalo where I worked on a team to create an alternative version of Scrabble, or from one of my electives at SNHU where I was a member of a team developing a game in Unreal Engine. The course at UB had us all simply as developers working on the same project together, while the Game Development elective had each of us taking a specific role in the development and completing our part while collaborating for the project as a whole. This Game Development course also helped in experience with communicating to stakeholders where we had to build on the project each week and provide updates on the progress, changes and issues. Much of my work demonstrates understanding of topics like data structures, algorithms, databases, software engineering and security but I believe the 2 artifacts and 3 enhancements in this portfolio are some of my best examples of that. Software development is my largest interest in the field, and I take well structured, clean code very seriously. I always try to make sure code is not unnecessarily repeating and that when using loops for this purpose that they do not risk any out of bounds errors or infinite looping.

Portfolio Summary

As I had begun to mention in the previous section, I chose the artifacts used for this portfolio because I believe they demonstrate some of my best work and offered the best opportunities for improvements. Having used the same artifact for enhancement one and three, this was a good example to show knowledge with some popular languages like C++ and Java. This artifact was a personal project that I wrote in Spring of 2020 in C++ and transferred into Java for the purpose of this enhancement. Since this is a personal project, I believe it helps show my knowledge with the languages since it is not guided or assisted by any of the courses I have taken, outside of learning the language. I also chose this project because it was an opportunity to tie a database, in this case a MySQL database, into the project to handle saving, reading and updating data. In the C++ version of the project, I was reading and writing to a text file that would get read and stored in arrays, so here I am able to show two possible solutions to a problem in two different languages. In my second artifact or second enhancement, this was a project from my Computer Graphics and Visualization course at SNHU where I had to create a 3D lit and textured object using C++ and OpenGL. The way in which you have to create the vertices in order to create each surface of the object is very repetitive if done completely manually, so for this enhancement I worked on creating a function that would make it much simpler to work with. In order to simplifying using the function, I opted to use a vector to store my data before transferring it to an array because a vector is inherently flexible and would expand without needing to be told to do so while an array would need its size declared when created. While I could know exactly how big I needed my array to be to create the 3D chair that I was creating in my project, I did not want to write the function and program in such a restrictive way that creating anything else was impossible. I believe the way in which each of these artifacts is written and the enhancements I have made to them exemplify my work and my methodologies as a programmer where I prioritize clean and flexible code.