Provide a brief introduction to the assignment along with a link to this page for further details
In this particular assignment, I will be reflecting on Assignment 2 and my learnings. Assignment 2 itself was a continuation of Assignment 1, which involved adding additional functionality to our e-commerce website, such as account creation, login/registration, account editing, and rewriting information in JSON files. This was a big step up from our previous assignment. To learn more about the reflection questions that I will be covering in this essay, check this link out: https://dport96.github.io/ITM352/morea/150.Assignment2/experience-Assignment2_retrospective.html. Otherwise, to learn more about Assignment 2, go here: https://dport96.github.io/ITM352/morea/150.Assignment2/experience-Assignment2.html.
What did you learn from this assignment?
I believe that my greatest takeaway from this assignment was learning that implementing ideas is a lot harder than you would expect. I went into this assignment thinking that it would be a breeze, considering that I had an idea on how to do everything that the Assignment 2 instructions asked of us. However, while implementing said ideas, many things did not work as expected, which meant that I would need to either debug or find another way to solve the problem. In terms of technical skills, I learned how to rewrite files to store information permanently, as well as how to put information into query strings and call upon them for a variety of information – in my website’s case, we used the query string for sticky forms, retaining the models and amount purchased for those models, as well as identifying the user (we kept the username in the string).
Did you work with a partner? Assign an estimated percentage on the amount each team member contributed to the assignment (including yourself).
I worked with Evon on this assignment. I would say I did 55% of the work, while Evon did 45% of the work.
How did you get help when you needed it? What did you need help with? Evon and I did the majority of our project while working in the same room. Whenever I needed help, I would ask for her perspective or suggestions. Other times, we communicated over iMessage or Discord. I mostly asked for help in understanding how to combine her code with mine. Most of the issues I had with my own code, like bugs, implementation of concepts, etc. were handled alone. I did talk with classmate Bobby on several occasions about concepts and approaches to solving certain problems in my code, which proved to be very helpful in brainstorming solutions. I also used Google extensively when encountering certain bugs.
How was developing this assignment different than assignment #1?
There were so many more parts to Assignment 2 than Assignment 1, which means there were a lot more things that could go wrong. I would say that the development process was much different in that it was hard to decide where to start first. For example, in the middle of writing code for the login page, I realized that I wouldn’t be able to finish that page without setting up the file syncing for login/registration information first; this led me to having some incomplete code that I had to come back to later. Sometimes you only realize that you need one piece of the puzzle to complete another part of the puzzle a little too late. In contrast, in Assignment 1, it was pretty easy to think of all the things that I needed to do in order to have a functioning website and fulfill the requirements. Assignment 2 was a lot more of adding on more functionalities as we went.
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
Time thinking about how to do something: 5% Writing code: 15% Testing and debugging: 80% Testing and debugging was definitely the biggest part of this project. As I mentioned earlier in this reflection essay, I had a pretty clear idea on what I wanted to do and how I wanted to do it, which made sense in my mind. However, I ran into a variety of bugs and errors where things didn’t work as planned. I would often spend hours trying to figure out what the issue was and how to fix it or go around it.
Describe what worked well with this project? What did not work well?
Being confident that I could finish this project in a week didn’t work out very well. I also realized that I didn’t really have full mastery of any of the concepts we learned in class – although I recognized this in Assignment 1, the repercussions of my lack of knowledge were much more evident in Assignment 2. I feel pretty proud of my ability to work somewhat independently, and I believe that being able to switch between working collaboratively and independently was one of the things that worked well in this project.
If you could go back in time and do things differently, what would you do differently?
If I could go back in time and do things differently, I would allot myself more time to complete this assignment; I was overconfident in myself. In addition to this, I would also try to comment as I go more consistently, so when I look at my code that I’ve written a day before, I can easily understand what my thought process was during that time. I think that I would also try to ask Professor Kazman for more help; I avoided asking for help for the most part during Assignment 2, but I think by asking for help, that would make debugging a whole lot faster and easier.