Sometimes I think my programming skills haven’t improved much, but when I revisit earlier work, I can see that my skills have improved quite a bit. Some of the earlier WODs which seemed impossible at the time, I now understand and can complete with much less trouble. In addition, concepts such as variables, objects, and expressions, which were once foreign to me, are now part of my coding vocabulary. No doubt, there’s still a lot more room for improvement.
While I have come a long way in my understanding and application of loops, this is definitely an area that I can continue work on and improve. In Assignment 1, I frequently encountered challenges with loops, often needing to adjust the placement of statements to resolve issues, i.e., inside or outside of the loop. Additionally, I initially struggled with the concept of server-side processing. However, through my work on Assignment 1, I started to better understand the concept, finding it challenging to translate the theory into code. It started to make a lot more sense once I continued to work on Assignment 1.
To prepare, I read the instructions carefully and outlined what was needed to accomplish the tasks involved in creating the invoice. For certain tasks that I was unsure about, I reviewed our class notes and the Introducing Expressions and Operators presentation slides before starting. I have learned from working on the other WODs that outlining how to complete the tasks before starting helps and have since applied this approach with our WODs.
The labs have been an invaluable learning experience for me, although I sometimes find them challenging to keep up with. There’s a lot to process during the labs. The pace of the labs is quite fast, and it can be challenging to balance taking notes and writing code while keeping up with the instructor. Making even a small error can quickly put you behind, causing additional stress to keep up. Nevertheless, I have learned a lot in the labs. However, I find it beneficial to review the material on my own time to process what we went over in class and to ensure I fully understand the concepts covered in class. If we went slower, which I understand is not possible, it would help to understand the material better.
Completing Assignment 1 was certainly a challenge. I’m not going to lie; it was a rough working on the assignment. I’m exhausted and can’t believe we already need to work on Assignment 2 while simultaneously learning new programming concepts. It’s a lot to process, but it’s important to keep moving along. I think it’s still so fresh for me to process whether I learned from my experience doing Assignment 1. I’m sure I did, but I don’t have the capacity right now to thoroughly reflect on the experience quite yet.
In my opinion, splitting the class into two courses would greatly benefit my learning experience. The pace at which we cover new material is quite fast, leaving little time to actually work on the code and practice independently. We mostly just follow along with what is demonstrated in class. Having a separate lab class would be extremely helpful as it would provide dedicated time to work on our own code and apply what we have learned, with the assistance of the professor or teaching assistant. With the amount of material and work required, it would be beneficial to have more time to fully process and apply the concepts we are learning.
By far, what helps me the most is the one on one help with Dr. Port. The labs are too fast for me and the class website is somewhat helpful. I also enjoy working with a few classmates to learn together. But my meetings with Dr. Port have been most helpful because he’s able to identify where I’m struggling and help me understand the concepts.