Reflecting on Assignment 2 Technical Essay

05 Dec 2019

1. Provide a brief introduction to the assignment along with a link to this page for further details

For this assignment, a marketing director of a company asked us to upgrade the website that we had previously designed for him from Assignment 1. We had to improve the website by implementing a login and registration form to make the website more personalized for the users of the site. In order to purchase the products on the store, the user must either login to their account or register for a new account, where the information that the user inputs would be checked and validated on submission of either forms. Other required features to be included on this website would be implementing security throughout the website to ensure the user must login or register before purchasing products and personalization of the website to where the user’s information would appear on the invoice after purchasing their desired products. To find more further information about this assignment, click the link here.

2. What did you learn from this assignment?

I’ve learned that time management and persistence were the two most important aspects in ultimately finishing this assignment. Based on the intermediate level of assignment 1 and given only about 2 weeks to complete this more advanced assignment, I felt that time management and persistence were of the essence at that point in time. There we also moments throughout the assignment where I wanted to stop and give up, but with the help of my partner and self motivation, we were able to push through and complete this assignment a few days before the deadline with time to spare. Furthermore, this assignment helped improved my overall algorithmic thinking in a sense. Due to all the different obstacles I had to face throughout this assignment made possible for me to think logically in a sequence of steps to reach the end goal of this assignment. Additionally, I’ve also learned that Google is such a powerful tool to use for programmers when they become stuck or reached a mental roadblock. This assignment required certain features that we haven’t learned yet and the solution to that would be to use Google. Apparently, experienced and non-experienced software developers use Google as an essential toolkit they use when programming.

3. Did you work with a partner? Assign an estimated percentage on the amount each team member contributed to the assignment (including yourself).

For this assignment, I worked with Shane Shimizu. Throughout the entirety of this assignment, Shane and I have worked on every task of this project together. By doing so, we were able to be on the same page at the same time while checking each other’s work in the process. On top of meeting up in person to work on our assignment together, we used Skype to communicate remotely when we weren’t able to physically meet. This partnership was very helpful for the completion of assignment 2 as it made us collaborate and share ideas with one another when faced with obstacles, making it easier than working individually. Due to this partnership, we were able to fully understand every single line of code that we wrote since we were able to cooperate well with one another. Furthermore, we were able to complete assignment 2 early with time to spare to add additional features. Overall, I believe that my partner and I both deserve the 50%/50% even split because we truly did everything together each step of the way.

4. How did you get help when you needed it? What did you need help with?

Throughout this assignment, my sole primary source of help was my partner Shane Shimizu and our fellow classmates on Skype; where we spent countless hours in trying to finish this assignment on time. I believe that working with your peers is a great way to build lifelong friendships while earning your degree, as well as having people to face the struggles of college along the way. A few problems that we needed help with were starting validations for both login and registration forms, figuring out how to make the forms sticky and implementing security measures for the E-commerce website. We solved these issues on the time spent on Skype as well as meeting up in person by researching some potential answers online on Google as well as using things we’ve already learned from that point. Additionally, we also received help from Professor Port with figuring out how to pass query strings to different pages as well as making the data persistent in using File I/O within our assignment. Professor Port also cleaned up some of the instructions for the assignment as well as guiding us with some useful tips in some areas of the project to get everything working smoothly.

5. How was developing this assignment different than assignment #1?

The development of this assignment was different than Assignment 1 because of the fact that it was more difficult to complete and there were more requirements to fulfill. Although it was difficult to start Assignment 1 since it was our very first major project, Assignment 2 was significantly harder because of the amount of JavaScript code we had to write for this project alone, as well as trying to understand what we have written. I believe that we had to implement a substantial amount of code on the server side (JavaScript files) compared to the client side (HTML files), as we did for Assignment 1. However, since we had to upgrade our website from Assignment 1, this assignment felt a little similar type of process with the exception of additional requirements like the validation and security added to the webpage. After completing this assignment, I believe that my overall through process and methods of handling situations improved significantly than before.

6. Estimate the % of time you spent (a) thinking about how to do something, (b) writing code (but do not include testing, (c) testing and debugging

Overall, I believe I’ve spent about 40% of my time trying to figure out how to do something, 30% of my time in actually writing the code, and 30% of my time testing my code and debugging my code. Starting the project was the most difficult and time consuming thing to do because I had to create a plan for every step and figuring out to execute those steps. Once I’ve figured out a plan for a certain requirement of the project, I would then try to start implementing those ideas through writing code. This processes is usually the second most time consuming aspect of this whole project as I must ensure the code I’ve written is algorithmically correct and makes sense. After writing some code for a certain requirement of the project, I run and test my code to see if everything works well together. If I received errors while testing my code, I would go back and make revisions on my code and try to figure out what the problem might be.

7. Describe what worked well with this project? What did not work well?

In the completion of this assignment, I believe that working with a partner or a group was a very efficient and effective way in finishing this project. Working with a partner was very helpful for this assignment because we were able to work together and be on the same page every step of the way. This allowed us to work give each other helpful advice and constructive criticism while going through each requirement of the assignment. At one moment of time, my partner and I tried to work separately on different files to make finish the assignment even faster. However, once we tried to implement the files together into one project, we were appointed with several errors and it became harder to interpret the code which ultimately made us ask each other questions. In spite of this, we found it beneficial to work together on one project instead of doing things separately.

8. If you could go back in time and do things differently, what would you do differently?

If I had the power to go back in time, I don’t think that I would do things differently. My partner and I started the project early and we were able to finish the project in time before the initial due deadline. We’ve worked hard and spent countless hours on this project by ourselves and with several other classmates. We used the materials we’ve learned thus far as well as used outside sources to complete this assignment. I believe that we deserve full credit for this assignment as we worked very hard to reach where we are now. Overall, I am happy with the progress that we’ve made and happy that we’ve finished this assignment mainly on our own. For those seeking advice: “Success at anything will always come down to this: Focus and effort, and we control both.”