Portfolio Introduction
I started my journey in the Computer Science bachelor’s degree program at SNHU in March, 2018. I was originally going to pursue a bachelor’s degree in Electronics Engineering Technology (EET). While I was completing my associate’s degree in EET, I took an intermediate course in C++. At first, I hated programming, was doing poorly in the course, and had to drop the course to save my GPA. After studying the course material and programming on my own for a year, I retook the course and received the highest grade in the class. After that experience, I decided to change majors. I was smitten with programming and software engineering from that point on.
The Computer Science degree program at SNHU was certainly not easy. It takes a lot of passion, dedication, and sacrifice to successfully complete the course requirements for this degree. While I’ve learned so many important concepts and skills throughout this program, the most important skill I’ve learned is perseverance. It is difficult to struggle with a course, but through hard work and perseverance I have learned that anything is possible with the right attitude and mindset. There is no greater feeling than succeeding when challenged by a seemingly impossible tasking.
Another skill that I feel is essential in the field of Computer Science is the Object-Oriented Programming (OOP) paradigm. This program taught me the inner-workings, concepts, and architecture of OOP. Most employers today want candidates with a background in OOP. It’s easy to see why; OOP offers the advantages of reusability, code maintenance, and better software design architecture. The Agile framework was another important skillset learned in this degree program. Most companies that provide software solutions use the Agile software model to deliver robust software solutions in a timely manner with each sprint.
The Software Development Lifecycle (SDLC) is the foundation of software engineering. This program taught me that software artifacts are developed with distinct planning and execution phases. It also taught me the benefits of static and dynamic testing, peer reviews, requirements specifications, and software modeling. In short, the SDLC is a process used to ensure software artifacts are delivered to the end user with the highest quality in a timely manner.
The creation of this portfolio, and the artifacts contained herein, successfully demonstrates my ability to work in a collaborative and team environment. My artifacts are publicly available through GitHub. I sincerely hope others will take what I have created and expand upon them. Additionally, my Software Design and Engineering skills are showcased via my code enhancements for Enhancement One. The newly added features for Enhancement One clearly demonstrate my expertise in Software Design and Engineering.
The Enhancement Two code enhancements showcase my ability and skills utilizing Data Structures and algorithms efficiently and effectively using the best practices taught throughout this program. Enhancement Three was my own concept of creating a database. This clearly shows that I am able to think outside of the box using my skills to create a new project from a conceptual idea to a finished, polished artifact. All three of my portfolio artifact enhancements demonstrate my ability to implement security within my code. This is evident with the addition of login credentials for accessing the code. All three of my artifacts require user authentication.
Portfolio Summary
This portfolio shines light on my competence and skills within Computer Science. The first enhancement in my portfolio showcases my strengths in Software Design and Engineering. Enhancement One exemplifies my advanced knowledge and skills with the design of a computer graphics program. This program required the advanced knowledge of C++, OpenGL, and Software Design and Engineering as a whole.
Enhancement Two showcases my skills with implementing and modifying the select case Data Structure within the Java programming language for a Zoo Monitoring System program. Enhancement Two exemplifies my knowledge and expertise of manipulating a Data Structure utilizing a menu driven Algorithm. This could have been achieved with several other data structures; however, I believe the select case data structure was the most appropriate for this artifact.
Enhancement Three was not an enhancement. It is a new program demonstrating my ingenuity and skills with creating a school database project using the C# programming language and Microsoft SQL Server Management Suite. I created a database client using C#. I learned C# specifically for this project. This project demonstrates my ability to learn a new programming language quickly and integrate it with an existing database management system. I have a passion for programming and software engineering.
The Future
I plan to position myself professionally by continuing to learn. Computer Science is a field that continuously evolves over time. To stay competitive, with the highest potential for employability, lifelong learning has to be of a high priority. I plan to pursue a software engineering career after I graduate. I know the software engineering field is highly competitive, but it is a passion of mine, and I will work as hard as possible to succeed in this field. Like I stated in my introduction, perseverance, hard work, and passion really are the keys for success.
Porfolio Links