I’m Coleman Moore and I’ve been a software engineer and engineering manager for over 30 years. I’ve been in the Southern New Hampshire University (SNHU) Computer Science program since July 2017. I entered in the program with two years of credits from an Associates Degree I completed many years ago. I decided to return to school to obtain a Bachelor’s Degree in Computer Science. I did that for several reasons, one to complete a goal I started to pursue many years ago, and also to learn the theory behind software design and become current in the latest tools and languages.
At the beginning of my enrollment at SNHU, I started in the Information Technology program. After one term, I decided to switch to the Computer Science program because of my love of writing code and solving problems during my 30+ year career. I have an Associate’s Degree in Electrical Engineering, and I started my career designing hardware products for various companies I worked for. Soon thereafter, microprocessors became available, and I started designing those into my products. My work began shifting toward writing code and I learned assembly language coding on-the-job. C language tools began showing up within a few years and my efforts began migrating to writing code in C. C++, Java and Python followed over the years and I worked on many projects in those languages.
My interest in obtaining a Bachelor of Science in Computer Science was two-fold. One was for my satisfaction, achieving a goal that I had desired for many years. The other was my interest in learning the theory behind the coding; designing algorithms and data structures, learning about object-oriented programming, and learning the details behind programming in C++, Java, and Python.
The courses I have taken in the Computer Science program have added to my previous education and work experience as a software engineer. The courses have taught me about object oriented programming, the Software Development LifeCycle (SDLC), database programming, mobile device programming and the programming languages C++, Python and Java.
All of the courses throughout the Computer Science program have helped me acquire the necessary skills and knowledge to position my self for a job in this industry. CS-250 taught me about the Software Development Lifecyle and how projects are planned and implemented. CS-310 Collaboration and Team Projects explained how an engineering team works together and collaborates using team tools like Github to share code development. That course also showed how it is important to work together as a team and how communication is so important in a team environment. OL-125 Human Relations in Administration was a course that provided me needed insight into the role that personality, perception, attitudes and self-concept plays in human relations (Lussler, 2017). CS-310 also taught the importance of communication with the stakeholders, whether internal to the organization or external. Keeping stakeholders in-the-loop on the product and project details goes a long way to solving any issues of budget or time, since the stakeholders have been involved in the project from the beginning.
CS-260 was a great lesson on data structures and algorithms. CS-330 Computer Graphics was an interesting course that taught me about OpenGL and how objects were manipulated on the screen. CS-340 helped me learn about the creation and use of databases and showed how useful they can be.
While my learning was not restricted to these classes, I chose my three enhancements from these subset of courses. In Enhancement One, the Software Design and Engineering category, I chose CS-330 Computer Graphic and Visualization course from July 2020 as my artifact. In it, I took my Final Project in that course and enhanced it by adding additional lighting and effects around a rotated 3D object. Enhancement Two, Algorithms and Data Structures, was based on my Final Project from CS-405 Secure Coding, which I took in September 2019. The original artifact focused on finding vulnerabilities and security flaws in five software modules using visual analysis of the code and using any static analysis tools that were found. My enhancement to that artifact was to choose a more complex set of code modules and analyze those. In that artifact set, both sets of files were written in C++. The final artifact in Enhancement Three, Databases, was based on CS-340 Client Server Development, a class I took in January 2020. In that class, I used Python to write code to manipulate data in MongoDB databases, learning how to perform the core operations of create, read, update and delete records (or documents), called CRUD operations (first letter of Create, Read, Update and Delete). In that project, I also had to perform a more complex set of database operations, such as finding the top 5 stocks in a stock database. My enhancement to that artifact was to perform the same operations on an identical MongoDB database with code written in Java.
I am very excited to have accomplished my first educational goal, which was to obtain my Bachelor’s Degree. Developing this ePortfolio has helped me focus on my strengths and helped me present my skills and knowledge in a meaningful way. I would not have learned about the Github Pages and the various templates and tools without having taken the CS-499 Capstone Course. I am more encouraged now to advance my career by continuing my education, both in a graduate study program and in obtaining certifications in my computer science field of expertise. The certifications I am interested in are the Professional Scrum Master and the Project Management Professional certifications.
My job in the renewable energy industry relies heavily on my programming skills. I have worked as an Engineering Manager and Software Engineer at this company for 7 1/2 years, and for 5 years before that at another renewable energy firm. My career as a software engineer and manager has spanned 35 years so far. I am excited to finish my Bachelor’s Degree in Computer Science because it gives me a solid foundation of knowledge to work from. While I have 3 decades of software knowledge learned on-the-job and much field engineering and experience working with clients, customers and partners, I always felt I lacked in the base theory behind writing software. Having this degree also opens the door to obtaining my Master’s in Engineering Management or an MBA, entering a Master’s program will be my next endeavor.
References
Lussler, R. N. (2017). Human Relations in Organizations (11th ed.). McGraw-Hill Education.
Link to Repositories
Portfolio Links