E4: Progress in Programming Report

13 Apr 2023

It takes time to learn how to code.

1. My programming skills have greatly improved in the following ways:

I think compared to my skills at the beginning of the semester up until now, I can definitely see some improvement with how I program code. I have a better understanding of how the code is run on both server and client side. Prior to this class, I was more familiar with only the front-side of coding such as HTML and CSS. I also think that I’ve become more used to writing the basic structure of code and have an idea of where each code goes. One thing that I think really improved is my understanding in for loops and while loops. I had a hard time processing what conditions to put in these loops and while loops on the lab and Assignment1 project.

2. I need to work on the following to improve my programming skills:

In terms of improvement, something that I definitely need to work on is writing comments on my code. Sometimes, when I work on a part of my code I’ll know what the code is doing as I write it. The problem happens when I take a break away from coding. I found myself opening code several days later regretting that I did not comment what my code did. I could just reread the manual and add comments later but I find that time consuming. It is really important to comment code because you could save time and you’ll need to remind yourself what each part of the code does. This is especially important for big projects like Assignment1 and Assignment2. Another thing I could work on is understanding how global variables work. There were instances where I could not access a variable because it was restricted to a function or loop. This caused a lot of problems for me when I did Assignment1.

3. I have learned a lot from doing WODs and I can do them without copying the screencast:

I think I would be lying if I said I can confidently do the WODs without having to refer to the screencast atleast once. Even with my previous experience in coding (HTML, CSS, Javascript), I still had trouble getting something as simple as a div box to appear. Something that I learned from the WODs is that you really get better the more you do it. I did not like the fact that I was timed to complete a task but timing myself can help me get a better idea of my understanding of the material. There were some WODs that I completed in one attempt but most of these took a long time to finish. I think that the WODs were great practice out of class. These WODs helped me review the material from a previous lab or helped prepare me for an upcoming lab.

4. The labs have help me learn and I am able to complete them with confidence:

Again, this is the same deal as the WODs. I really would be a liar if I confidently said that I can do the labs on my own. This is especially true even now as I noticed over time, the labs provided less step by step instructions. I was left with having to assume what the lab was asking. Sometimes, I had to read the manual to get more familiar with what the question is asking. I think I would be able to complete the labs that were at the start of the semester but right now, I really need guidance from the professor and TAs. I do think that labs help me understand the material because it provides difference exercises on how the code is used and lets me experiment on its capabilities.

5. I learned a lot from my experience doing Assignment 1 and feel ready to work on Assignment 2:

Doing Assignment1, was a humbling experience for me. I had an idea by taking code from Lab 12 and modifying it. I do not think Assignment 2 will be too difficult but it will definitely be challenging. Similar to how I handled Assignment1, I will most likely be asking for guidance from the professor. In Assignment1, it really helps to check for spelling errors and proper syntax. Another problem I had to deal with is renaming some of my variables since the ones I used for Assignment1 is different from the Lab 12 examples. I think understanding how to get data from the server for one invalid quantity really helped me finish the rest of my requirements for Assignment1. At the end of Assignment1 I feel like I have a better understanding of how servers work.

6. I think the class can be improved to help my learning in the following ways:

In my opinion, I felt that the class went at a slower pace than as it was intended. Although it is good to take the time to explain the code and how it works, sometimes we spend half of the class on this rather than completing the labs. This leaves students having to do the lab on their own which may be challenging for some people. Another thing that could be improved about the class is the instructions on the lab and the WODs. The instructions on these can be confusing and sometimes unclear. I had to ask my TA for help on some of these labs and WODs.

7. What helps me the most in class are (WODs, labs, class website, screenscats, readings, quizzes, one on one help, working with classmates, etc.):

I think out of the things listed above, the most that helped was the readings. If you can read the documentation of the code your working with then you can easily use code how it was intended to be used. I really enjoy the readings because similar to the labs, they provide examples and are shown to be used in different scnearios. Another thing that helped me was one on one help with the professor and TAs. I was able to ask and get to the root of my problems. The professor and TAs also showed me different ways to achieve what I wanted. I could also ask them questions on the spot whcih can help me really understand what I am doing with my code and why it works. Other than getting one on one help, I also think working with classmates can help alot. I was able to check with my peers on what I did wrong whether if it was a spelling error or wrong use of the documentation. I also just like that I was able to help my classmates out with their code.