E4: Progress in Programming Report

09 Nov 2022

My programming skills have greatly improved in the following ways:
I feel that I have learned a lot about programming since this semester has started. I started off with some basic knowledge of JavaScript, but I did not really know how to put what I knew together to create working webpages. I think one of the bigger learning curves was when we were taught how to run servers using app.get and app.post. I think Assignment 1 gave really great practice on that and I was able to learn a lot through trial and error. I think I have also improved in terms of being able to understand what a given piece of code is going. I found that it really helped me understand what was happening when I had to break down the code line by line with comments in Assignment 1. I feel more confident now reading and understanding code than I did at the start of the semester. In addition to this, I found that using console.log to help me debug my problems has been quite effective.
I need to work on the following to improve my programming skills:
I believe that having constant practice is key to getting better and also retaining what you know. A lot of the time, I find that it clicks for me when we go over it in class or when I’m in the middle of completing a WOD. However, after a few days, I feel the need to review so that I forget what we just learned (especially since this class moves through concepts pretty fast). I think the more I code, the more I will feel comfortable, in turn improving my programming skills. In addition to this, I think constantly testing my code as I go will really be beneficial. This would help me catch errors in my code or bugs a lot faster. However, I often have the tendency to write a good amount of code before I test it, which can make it more difficult for me in the long run.
I have learned a lot from doing WODs and I can do them without copying the screencast:
I would agree with the first half of this statement entirely. WODs have been really beneficial in showing me where I need more help and where I understand a concept the most. Although they were time consuming, it also forced me to get more repetition in, which I believe has improved my programming abilities. I would agree with the second half of this statement about 95% of the time. I think that I am able to do the WODs without the screencasts for the most part, but I typically have one part that I am unsure about. However, this usually happens because I get confused on what exactly I am being asked to do/not completely understanding the instructions. It was really helpful to have the screencast to make sure I was on the right track.
The labs have help me learn and I am able to complete them with confidence:
The labs have been a great help in my learning. I think they have provided a good foundation for what is expected in our 3 big assignments. However, similar to the WODS, I am sometimes unsure what the instructions are asking for on my own. I find that it is a lot easier to understand what is being asked when we do the labs together in class, and I am confident in completing them when the instructions are explained by our professor.
I learned a lot from my experience doing Assignment 1 and feel ready to work on Assignment 2:
I definitely agree with the statement: “I learned a lot from my experience doing Assignment 1.” I encountered a few challenges while working on Assignment 1. I had a few bugs that I struggled to get over. However, asking for help from Professor Kazman has really helped me not only fix my errors but also learn from my mistakes. I spent many long hours trying to fix certain bugs on my own without asking for help since I thought that would help me learn and understand it better. However, reaching out and hearing a clear explanation gave me a great understanding that I don’t think I could have reached on my own since programming is still new to me. As for feeling ready to work on Assignment 2, it still feels a bit nerve wracking. However, after completing the File I/O lab, I am feeling a lot more confident in doing Assignment 2. I think that lab gave a good foundation on understanding how to create and save login information. I found the debugging lab we went over pretty helpful too and will likely use these methods while doing Assignment 2.
I think the class can be improved to help my learning in the following ways:
I think it would be helpful to have screencasts of the labs if those already exist (from the pandemic). I find that doing the labs in person together is really helpful, however, I’ve always felt that there was not enough time in class. It often felt like we were in a rush to get through the labs, and I occasionally felt like I was trying to keep up so I didn’t fall behind instead of being able to fully process what was being taught. I think it would help if there were screencasts for the labs available after class to refresh what was taught. Another way this class can be improved is if there was some way to make the instructions more clear. I found the wording on the labs and WODs confusing sometimes, and I was left unsure on how to attempt a certain task that was being asked of me.
What helps me the most in class are (WODs, Labs, class website, screencasts, readings, quizzes, one on one help, working with classmates, etc.):
I think one on one help, screencasts, and WODs were the most helpful resources for me. WODs were a great way to test my knowledge of different concepts and helped me learn a lot in a short amount of time. I think with programming, it is all about practicing and repetition, which is exactly what the WODs provided. Screencasts were really nice to have since I did not have to wait on an answer from the professor or TA. If I was stuck on something, I could quickly skim to that part of the video and get an explanation. One on one help was really helpful for me during Assignment 1. As mentioned earlier, I tried to go without asking for help for the majority of the assignment. However, I think that just wasted a lot of time since I did not have the answers I was looking for since this is my first time really programming. Professor Kazman was able to spot the errors in my code very quickly and also provided explanations as to why things were happening that I was not able to realize on my own.