Welcome to my site!
My Professional Self-Assessment
As I have gone through CS-499, I have learned some value skills as well in both software design as well the broader computer science field. When the Course began, I was already challenged with creating and improving my previous work without any real direction other than a rough idea of what was necessary. That I feel was a turning point as up to this class I had been just following directions maybe I would occasionaly add in something of my own, but this course truly challenged me to look at what I had worked on up until now, look at how it could be improved, and then implement it. I learned how to do things on my own in multiple ways. I would watch YouTube videos and scour forums looking for the information I needed to complete my goals. In particular, I had to conduct extensive research on MySQL Workbench, as it was a program I had never used before, although I had previously used MySQL briefly. I had to research how it could be used to create a database, and then I had to find out how to encrypt certain information that would be available on that database. And while for my other two artifacts I was more familiar with the programming languages used, I had to find solutions to problems that I had not previously encountered.
I also had to make sure that each enhancment or creation would help me to achieve the course outcomes, which were my real guide as to what artifacts to pick and how to work on them. I had to think about how it would be to work in a collaborative environment and to do that I had to make documentation of how each enhancement was progressing and leave easily readable and descriptive comments within my code to account for if I were really working on a team, and there was an added benefit that when I go back to look on my work I will be able to easily bring myself back up to speed. I also had to account for stakeholders, who my documentation would also be helpful for, since it is important that they stay informed on what has been implemented. When working on these artifacts, I also had to think what would someone want out of them, which would most definielty be an important thing to keep in mind when working for others so as to have suggestions that could further improve the product they receive. Data structures and algorithms were also a course outcome that was a little difficult to think about how to implement. I would say I mostly leaned into the data structures part and didn’t really do anything in with algorithms since I created my python program for creating, reading, updating, and deleting txt files on a local machine. I worked with software engineering with pretty much all the artifacts since I was always developing something as well as looking into how I could improve them and make them more efficient. I worked with databases by creating my database in MySQL Workbench, creating a table within it, and populating that table with data. Then finally security, this was an interesting one since I hadn’t done much when it came to security previously, but I decided to do encrypt a some of the data on the MySQL database table and actually found that to be much simpler than previousy expected, I also made sure to create a secure password to the MySQL database. More security can always be implemented though, but with the time given I found this to be an appropriate way to meet this course outcome.
Introducing The Artifacts
My first artifact was focused on software engineering and design, and for this one, I improved upon my previous code of a program that creates a 3d scene. The base code was provided to me by the instructor, but I was tasked with creating the objects in the scene of my choosing. My scene was very simple a flat aread with a giant wall some houses and a windmill and to be honest my final one is not all that different, but the change was really in the code and how this time I made each of the group of shapes that comprised the objects into methods that could be called and adjusted by rotating and moving the objects around the scene by entering the numbers into the correct variables. This did not exactly work out as I thought, though, since moving the objects is the only real function, since rotating the objects makes some interesting shapes, but this did help me to cut down at least the amount of code required when creating multiple of the same object.
My second artifact was creating a Python program that could be used to create, read, update, and delete txt files and this one was based on another piece of code that I had previously written for the same purpose, but for a mongoDB server and its entries instead. Though a similar purpose my newly created program works in a much different way, and it was not so simple as simply tweaking the code; I had to fully remake it to work for a local system. I would say this one was a great success and does everything I wanted it to. I only hope to implement more features in the future and see what else it can be used for.
My third artifact is a MySQL database, and I created it using MySQL Workbench, which made it a surprisingly easy and within that database I created a table which I added a few entries into as you might see in small startup company then I encrypted the email portion of the table so as to make it more secure incase someone were to gain access to the database. In my folder for this artifact I included images showing how I encrypted the data and how one would decrypt it if they needed to view it.
Milestones and Code reviews
My Code Review on YouTube and first Milestone
These are my other Milestones (These were created as Word documents)
My Code
Artifact One - Software Engineering and Design