E5: Reflecting on Assignment 2

21 Apr 2021

Assignment 2

For assignment 2, I was supposed to modify my assignment 1, but require users to either login with an existing account or register a new account in order to receive the invoice with their order. I created a server that held my data validation and my post methods to process the requests.

For futher details, please go the following link: https://dport96.github.io/ITM352/morea/150.Assignment2/experience-Assignment2_retrospective.html.

What I learned from this assignment...

I learned many new things from this assignment. I learned how to create a simple login and registration page for users who access my webpage. I also learned how to create a server for my webpages to run through and how to use it to process and validate information that users input and request. I learned how to keep information from one page to another using the query string to retrieve and store the data until I redirect the user to another page. I learned how to create my own if statements for data validation. I also learned how to write my own functions as well. I learned how to provide security for the users through the server and my HTML files. We didn’t have time to do the debugging lab, but during office hours I learned how to use the debugger. Finally, I learned how to apply personalization for certain users after they log in.

I worked on this assignment individually...

I decided not to work on this assignment with a partner. I feel as though it would have been less work for me if I did work with a partner, but I ultimately decided to work by myself so I could learn and thoroughly understand about every aspect of the assignment. I also wasn’t sure if it would be more difficult to work with a partner considering it may be difficult to work on it separately, but not really know what my parter is doing as well.

When I needed help, I...

When I needed help, I mainly went to Professor Port’s office hours. Prior to asking for help, I would do as much as I could until I genuinely could not figure out how to fix a particular problem. I ended up going to Professor Port’s office hours all weekend and into Monday as well. He was very helpful in helping me to not only fix the problems I was having, but understand how to identify and resolve my problems on my own without immediately turning for help. I also turned to a few friends for help whenever it was something simple or small that I didn’t need extensive help with. I also went to google a few times, but that didn’t help with my problems entirely. W3 Schools helped a lot for understanding the basics of certain things that I needed.

How was developing this assignment different from assignment #1

The main difference between assignment 1 and assignment 2 was that I had to create a server to run my login and registration page through to create data validation for the text boxes on the pages. Then, I also used the server to be able to actually write into my user data from what was input into the registration page by the user. Aside from this, assignment 1 was significantly easier than assignment 2. I initialy thought assignment 1 was hard, which it kind of was considering we were starting off from scratch, but figuring out and learning about how to use the server interchangebly with my html pages was difficult for me.

How much time did I spend thinking about how to do something, writing code, and testing?

Ultimately, I spent about 65% of my time thinking about how to do something, about 25% of my time actually writing the code for it, and about 10% of my time testing my code. Most of my time spent was thinking about how to do something so that I knew where I needed to start when writing my code for it. Sometimes I would start writing my code without actually thinking about what I want it to do and those times are when I messed up. After doing that a few times, I realized that I needed to spend more time thinking about what I wanted to do and how to do it before actually attempting to execute the code. Though it took a tremendous amount of time, it definitely reduced the amount of mistakes I made when writing my code. I needed a lot of help writing and editing my code, but I only spent about 25% of my time actually writing it. Finally, I spent about 10% of my time testing my code. I tested my code multiple times on my own local server and even when uploading my assignment to the class server to ensure that all my pages work and that the validation was coming through. Though testing took the least amount of my time because I created my own checklist to run through so I knew all the things I had to test without leaving anything out, after testing I always had to go back to thinking about how to do something whenever I encountered a problem. I ran through this process of thinking, writing, and testing over and over again until I finally was able to hit everything on the checklist for assignment 2.

What worked well vs What did not work well

Before stating what worked well, I want to go over what didn’t work well. As Professor Port has mentioned time and time again, I learned that even though it may seem easier to try to copy or modify someone’s code, it actually makes the work 10x harder because I would have to figure out where their code differs from mine and can potentially make things more difficult and complex than they needed to be. What did work well is working through the assignment step by step, rather than trying to tackle the entire assignment at once. I ran through the assignment, noted what things I needed to do, and created my own step by step process to keep myself organized in understanding exactly what I have already done and what I needed to get done. Staying organized and keeping my own checklist definitely helped in ensuring that I did everything that was required for the assignment.

If I could go back in time and do things differently, I would have...

If I could go back in time and do things differently, I would have just initially wrote my code by myself and then maybe look at sample codes to add to my own code to reduce the amount of mistakes I made. I feel as though trying to look for the mistakes after took way longer than it would have if I had just written my own code, but maybe referenced another if I needed to.