Introduction This course has been one of the most challenging yet fruitful courses I have take so far. I experienced many highs and many lows. Of course looking back, I can see what I could have done better and how I could approach issues differently. Nevertheless, I have learned so much and can see how my programming skills have drastically improved. I am happy to take this opportunity to reflect on my experience and my skills earned throughout this course.
My programming skills have greatly improved in the following ways: Yes, my programing skills improved in terms of logical thinking and implementation. I have learned to look at programming issues and tasks from a different perspective, kind of like a third person point of view. For example, when I worked on the first assignment I really thought about what “the client” would like to see and what makes sense to the user. However, I had to find a middle ground between my own programming capabilties and my ideas for the website. I realized that some ideas would be challenging to implement but it pushed me to expand my skills in programming. For example, I had to think about how I could communicate quantity validation to the user and how I could transform the text in the purchase button. In addition, I had to figure out how to change the button back as soon as a valid quantity was put in, it may seem obvious now that it is there but it initally took some thought and critical thinking to come up with the solution. This was one of the most challenging tasks of this project but I feel like it really made the website more dynamic and really propelled my skills in crticial thinking.
I need to work on the following to improve my programming skills: Although there were many ways in which my programming skills improved I can identify where I need to continue to work on improving my skills. Throughout the entire course some of my biggest roadblocks are typos and missing values such as semicolons or parenthesis. On various occassions I spent hours looking through my code only to find that I had misspelled a variable or that a brakcet in my JSON had been out of place. I feel like it is an issue that continues to occur and that I may only catch those mistakes by continueing to practice. It seems inefficient to spend so much time for such simple errors and I hope to improve in this matter and save my time as a result. Also, I need to work on testing my code incrementally. Many times I lose track and just code ahead. When something doesn’t work out it is difficult to identify the issue without another persons help. Although I practiced improving this in my 2nd assignment I need to consciously remind myself until it becomes one of those good coding habits.
I have learned a lot from doing WODs and I can do them without copying the screencast: I definitely learned a lot from doing WOD’s and although it was a challenge I was able to do most without copying the screencast. I learned that there are different ways to implement coding tasks, for example the making change WOD was one of the most difficults WODS and when I compared with peers it looks like we did it slightly differently. Although I prefer to have the screencast available for perfecting purposes the steep learning curve was a crucial stepping stone towards the success of my Assignment 1. I also learned that repetition helps solidfy programming skills. Even when I completed the WOD withing the Rx or Av I would do it at least one more time just to see if i could do it even faster which in turn helped reinforce the tasks I had learned to complete the WOD.
The labs have help me learn and I am able to complete them with confidence: All the labs have helped me learn tremendously but not all of them with confidence. At first the do your own sections made me anxious esspecially with the limited time we had to complete the lab, which was usually before midnight of the day we did it in class. Most labs were fine but I think lab 11 and 12 were difficult in particular as the pace of the course began to speed up and I would have liked to spend more time. There were certain parts where I implemented code but was not entirely sure of its purpose and would have liked the chance to ask before submission. And sometimes it is difficult to ask questions when you dont even know what question truly needs to be asked, if that makes sense. However, with the help of peers I eventually was able to grasp mostly everything with confidence. After completing assignment 1 I am happy that we were challenged independently early on becuase I felt more prepared later on.
I learned a lot from my experience doing Assignment 1 and feel ready to work on Assignment 2: Yes I definitely learned so much doing Assignment 1 esspecially how to overcome seemingly impossible challenges bit by bit. For example doing the invoice processing in the server was much different than how we had done invoices in WODs and in-class, but with applied effort and critical thinking I managed to figure it out. Also other aspects of the assignment were fairly challenging such as updating the inventory, quantity validation, and invoice styling. I have to admit that Assignment 1 was very challenging and hearing that Assignment 2 is more difficult makes me very nervous.
I think the class can be improved to help my learning in the following ways: Sometimes we would go through the labs very quickly and I would miss a few explanations which would make me nervous. I feel like many class mates might have felt the same but I did not want to speak out of turn and hold back the progress of the entire class. Also the “do your own” sections are good practice for harnessing independence however I would have liked to cover them in-class the day after to ensure accuracy. This would be helpful in addtion to getting feedback on the written parts of our labs to ensure understanding.
What helps me the most in class are (WODs, Labs, class website, screencasts, readings, quizzes, one on one help, working with classmates, etc.): The labs definitely helped me the most in this class becuase it was a summation of hands on experience, readings, working with classmates, and independent work. All of these aspects combined make the class so much fun, and I find that I learn so much more when I am also having fun. The labs gave me the opportunity to get comfortable by following along while also giving me confidence upon completeing the “do on your own” sections. I think after lab 3 I really began to feel my progress through my independent work which is the most rewarding part of this class.
Conclusion Overall, this has been a really great learning experience. I am looking forward to what comes next in this course. This course has made feel prepared for the next classes in my MIS degree. It has made me feel more confident in applying what I have learned in my career and potentially taking my programming skills further in the future.