I think that one of the biggest aspects that I learned, not just in programming, but in critical thinking skills in general is the ability to do logic. Identifying the problem, seeing what tools I have available to solve them, then coming up with a solution is very challenging for me, however, it has really tested my understanding of the concepts we learned in class. I have learned how to recognize and adapt useful code from my previous labs and WODs, which has helped me create my own functions and algorithms. I tend to make a lot of syntax mistakes, and there are times when I get frustrated when I work on a problem (such as figuring out how to use the templates), however, I now know that I have to take my time, take frequent breaks and have patience to implement the major functionalities.
One thing that I need to work on is to comment and test out my project more before submission. For example, thinking up of the craziest inputs and trying out everything in the submission boxes is essential to getting a good grade for these assignments. Improving my comments not only help with the grader, but they also help when I look back at my code for referencing. At times, when I don’t work on a specific code block for a while, I forget what I did because I did not comment. Commenting each aspect beforehand will help me greatly.
I have learned a lot from the WODs, especially when I look back and find that they are a good source of inspiration for me to work on my assignments. Invoice4 WOD especially helped because the functions I used there helped me adapt the code to my Assignment 1. I think if I had to do them again without copying the screencast, I would perhaps not get a fast time (Rx) but would probably be able to get the average time at least. I find that a lot of the times, I just need the patience to work through a problem since I already have the foundations of things such loops, servers, html/css, etc.
The labs have most certainly helped me learn. The lab on server-side programming has especially been a boon since I can refer to the lab and reuse the code. This was especially helpful when I moved on to the HTML and CSS parts of the Assignment. Looking back and remembering string templates were a huge boon to me. As a result, if I had to do the labs again, I am most certainly able to do them with confidence.
My Assignment 1 took about 12 hours to finish, and now that I have a solid base to work with, I do feel ready to work on Assignment 2. I have learned what helps me the most when doing these long projects which are listed below:
With these stategies available, I feel much more confident about Assignment 2.
I think one of the biggest things that can be improved is simply the pacing in the class lectures. There have been a lot of times where I have to sift through my lecture notes to find relevant information that will help me in my lab. It becomes even more challenging to sift through them when I did the Assignment (especially when I got 3/4 of the way through it and my patience started to be tested). This brings me to question 7.
The three things that helped me the most in class are the WODs, the Labs, then working with others. For the first two, they helped me get ideas for my Assignment 1 and assured me that there is a solution out there somewhere; I just have to work on cleaning them up, making them more understandable for me (adapting), and making sure they fit the requirements of the Assignment. The latter is mostly for my mental health to be honest and for confidence, haha. If I had to send one word of advice for my classmates it would be: START EARLY. Slowly working on the Assignment every day helped me with managing my stress levels.