Self-Assessment
Completing the coursework within the computer science program alongside creating the ePortfolio has helped me by providing a basic understanding of many concepts to build upon. Specific examples would be learning OpenGL, Embedded devices, Client and Server Development, an introduction to reverse engineering, and Collaboration and Team Projects.
During this subset of classes, In the computer visualizations course with OpenGL, we used several C++ libraries to build a 3D environment with shaders and a controllable camera.
In the embedded devices course, I obtained a new perspective on how micro-controllers are programmed. Everything from a basic clock to a router. I was learning more about state-machines, Embedded-C, and how I could implement them onto a Texas Instruments CC3220S.
Within Client and server Development I was shown a new form of databases, non-relational databases. Two of my GitHub projects contain non-relational databases and one is the primary artifact I will be discussing.
The introductory course to reverse engineering provided both a hobby and a new outlook on how code is compiled. From this newfound hobby, I have realized the intricacies of protecting a program’s integrity. Each instruction denoted by bytes may be read or manipulated to change the control flow.
Lastly, the collaborative team environment explained the importance of Git and how to use it for both personal and group projects. I primarily access git through the terminal and utilize it regularly.
New Artifact Summary
The new artifact I am adding to my portfolio is a combination of two seperate projects.
CS-310 Collaboration and Team Project, and CS-250 Software Development Life-cycle (SDLC).
The first project was a simple text-based Jukebox that used a queue data structure to display data from a LinkedList or playlist. The second project was a graphical slideshow of travel destinations. I wanted to include these projects to demonstrate my aptitude for developing secure, clean, and reusable code.
Briefly, I modularized and refactored the Slideshow project so that it would be able to emulate the functionality of a jukebox/music player. It can now connect and query a group of randomly selected records from a database and can display a picture (cover art) based on the genre of the currently playing song. It also shows the artist and song name.
The Queue based structure was swapped out for a circular doubly linked list allowing backwards and forwards traversal to and from the last and first song in the playlist. This acts as a looping mechanic within the program.
Code Review
Course List - (Mini Log)
Computer Science:
- CS-410 Software Reverse Engineering
- CS-405 Secure Coding
- CS-360 Mobile Architect and Programming
- CS-350 Emerging System Architecture and Technology
- CS-340 Client and Server Development
- CS-330 Computer Graphic and Visualization (OpenGL)
- CS-320 Software Test Automation and Quality Assurance
- CS-310 Collaboration and Team Project
- CS-260 Data Structures and Algorithms
- CS-250 Software Development Life-cycle (SDLC)
- CS-200 Computer Science Role in Industry
Databases & Data-Mining:
- DAD-220 Intro to Structure Database Environments
- DAT-220 Fundamentals of Data Mining
Information Technology:
- IT-365 Operating System Environments
- IT-315 Object Oriented Analysis and Design
- IT-255 Introduction to Linux Operating System
- IT-201 Computer Platform Technologies
Mathematics:
- MAT-350 Applied Linear Algebra
- MAT-243 Applied Statistics for STEM
- MAT-230 Discrete Mathematics
- MAT-225 Calculus I: Single-Variable Calculus
Course Repositories on GitHub:
CS-260 CS-320 CS-340 CS-405 Security Template Previous Portfolio