Through this assignment, my proficiency in JavaScript has undergone significant enhancement. While I previously possessed a foundational understanding, this task deepened my comprehension of the intricacies associated with each line of code. For instance, I gained a profound understanding of the importance of ensuring data integrity when incorporating information into a URI. I now recognize that the example encodeURIComponent(JSON.stringify(quantityOrdered)) serves a crucial purpose in web development. The combination of JSON.stringify and encodeURIComponent is particularly useful when passing complex data structures, such as the quantityOrdered object, through URL parameters. By converting the object into a JSON string with JSON.stringify and then encoding it with encodeURIComponent, I not only prevent issues with special characters but also ensure that the data can be safely transmitted via a URL. This insight has enabled me to appreciate not just the "when" but the "why" behind utilizing such constructs, fostering my ability to write code that not only meets functional requirements but is also readable and understandable to others, thereby emphasizing the importance of code clarity and maintainability in the development process.
To enhance my programming skills, I recognize the need to address inefficiencies in bug identification and resolution. Specifically, I encountered prolonged debugging periods, especially in a significant case involving the transmission of values from a textbox through the server to generate an invoice. To streamline this process, I plan to bolster my debugging proficiency, potentially by refining my understanding of server-side interactions and thoroughly testing input/output mechanisms. By focusing on these aspects, I aim to reduce the time spent troubleshooting and improve the overall robustness of my code.
I've picked up quite a bit from tackling POKES in this class. Honestly, they weren't crazy hard; it was more about getting the code done within a time limit and figuring out where to find the right info. The videos were a big help, giving me a roadmap for how to piece together the code, and Sal's comments were super useful. But if I'm being real, I feel like I got more out of the Labs. They just clicked better for me – not too overwhelming, and they made me think on my feet. The hands-on part of the Labs, working through the code, felt more valuable for my learning style compared to the POKES.
While the process of creating the actual code posed its challenges, I found that the true difficulty lay in explaining the purpose of the code and justifying the rationale behind those choices. Initially, elucidating the functionality of the code and explaining the reasoning behind my coding decisions proved to be a less fun of a task. However, through persistent effort, I have witnessed a significant improvement in my ability to articulate and justify my code. Although my explanation skills may not be perfect, they have evolved considerably since the beginning of the course. The ongoing practice has been instrumental in refining my communication of coding concepts and has contributed to a deeper comprehension of the material.
Reflecting on my experience with Assignment 1 has been instrumental in shaping my approach to Assignment 2. One key takeaway was the realization that my tendency to panic significantly hindered my progress. Understanding that taking a calm and methodical approach to identifying and resolving issues in my code is essential has been a crucial lesson. During Assignment 1, I chose to tackle the JavaScript portion first, completing it before delving into the HTML and CSS components. While this strategy reduced distractions when fixing JavaScript, I now recognize that initiating the HTML and CSS earlier would have allowed me to submit the assignment sooner. This insight emphasizes the importance of a balanced workflow and prompts me to adopt a more comprehensive and strategic approach for Assignment 2.
In evaluating the structure of the class, I find it to be generally effective, though I acknowledge a potential bias in my perspective due to not having Dr. Port and already possessing experience in coding with JavaScript and HTML. This familiarity with the languages certainly eased my engagement with labs and POKE, preventing excessive challenges in code management. While the existing format suits my background, I believe there's room for improvement to benefit students who may find the initial transition more challenging. Specifically, incorporating a lab or POKE that serves as a smoother bridge between introductory concepts and the complexity of the first assignment could be beneficial. This addition could help mitigate the inherent difficulty of the inaugural assignment, fostering a more gradual progression for students who may find the leap from theory to application a bit daunting.
On the whole, the course has provided a valuable refresher on JavaScript (since I started learning in 2014) while concurrently enhancing my ability to articulate and explain my code. I appreciate the overall structure and content but suggest this minor adjustment to better accommodate students in their early stages of the course, ensuring a more seamless transition into the practical aspects of coding assignments. Thank you for the insightful and instructive course, Sal.
The part of the class that really clicked for me was the labs. They were a bit of a challenge, especially because I'm not great at putting my thoughts into words. But going through them forced me to get better at explaining things. It wasn't just about coding; it was like a crash course in talking about code. Now, I feel like I can help out when someone's stuck or confused, and it's boosted my coding skills too. The labs weren't just about typing lines of code; they were like a practice ground for improving how I talk about this stuff.
I haven't had many chances to team up with classmates or ask for one-on-one help because my issues weren't really with the code itself, but more with explaining it. Now that I've got a handle on that, I'm looking forward to jumping into more collaborative stuff. The labs made me feel like I can actually contribute to group work and get more out of talking to the instructor or classmates one-on-one. They made the class feel more practical and down-to-earth, which was just what I needed to really get into the swing of things.