Progress in Programming Report

28 Nov 2021

After completing Assignment 1, I have a good understanding of where I am with course concepts. While I did well with creating a visually appealing website with CSS, I need to implement my understanding of servers and JavaScript to create a more functional E-Commerce store. I will address all of these areas by discusses each topic question in the E4 description.

My programming skills have greatly improved in the following ways:

I now have a much better understanding of how HTML and JavaScript work in unison with CSS as a guide for how the code is displayed. Rather than having to constantly reference outside sources, I feel that I can recall most basic HTML and JavaScript notion off the top of my head. Also, I am started to have a better understanding for how servers work by responding to different requests from the client. Although I need to keep practicing this to create a fully functional store, I feel that I understand the basic idea of how it works.

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

I need to keep practicing skills related to constructing a server and review past course material to make this information something that doesn't require reference material. While I am starting to understand how servers work, I have had some issues in connecting the server to my JSON database and webpages fluidly. For my E-Commerce store, I was not able to adjust the actual inventory amount after a purchase which is something I need to address in Assignment 2 and 3. I think after the File I/O and Cookies labs, I have a better understanding in this area, I just need to go back and fix my old code. For this case, I am considering starting from the ground up to create a system that I understand from the ground up.

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

I definitely agree with this statement. The WODs were great practice examples and I found that if I go stuck in the WOD, I would stop recording and review the module material until I had a full understanding of how I would approach the material. I did have to reference the videos in a couple cases, but I found that I could find solutions from the reference material before referring to the videos. I did notice that a couple of my approaches were different from the screencasts, but I think that is the nature of coding and how you can use different approaches to solve the same problem. It was nice to see the examples in these situations as I learned an alternative approach that I would not have considered such as using DIVs to separate product modules versus breaking it into a table.

The labs have helped me learn and I am able to complete them with confidence:

The labs were great practice for material that we were learning and Professor Kazman went through them at the perfect speed to develop an understanding. The repsonse sheets for the lab were a little confusing at times and I found the best learning was from following along in class. Some of the lab examples didn't give all the required information to complete the step which is good for developing critical thinking, but made it hard to work independently if you hit a wall. All-in-all, I think the labs are a great opportunity to follow along in real-time and address any issues that arose on the spot.

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

As I addressed earlier, I had some difficulties with Assignment 1 when it came to developing a server that accesses all facets of my website. After reflecting back, I have decided to try and re-develop my website from the start in order to create a store that functions to the requirements of Assignment 1. While this sets me back a little bit for Assignment 2, I think it is an important step that I need to take in order to fully grasp the concepts of this course. While I believe that I have a good understanding of the design aspects of HTML/CSS, I need to develop a better understanding of the server-side operations as this is something I have not worked with until this class.

I think that the class can be imporved to help my learning in the following ways:

I think something that could really help is creating separate schedules for the different sections of ITM 352. I know that the two classes did not always share a similar schedule so it was easy to get confused on when things were due and what to have prepared for the following class. Also, for the three major assignments, I think it would be nice to spread this out across the semester. Perhaps having having more assignments to help incrementally design the website would make it easier to apply the concepts that we are learning at the time. As servers were something new and more difficult to understand, it would have been nice if the design portion of my website was already completed so that I could focus on the server-side aspect around the time of Assignment 1.

What helps me the most in class are:

The in-class labs were the most helpful along with the WODs. The in-class labs allowed me to see the code in real-time and to follow along. This meant that if problems arose, I could ask about them on the spot. Often the fix was something minor, but this meant that I did not have to get hung up on a small problems when trying to understand a larger concept. The WODs were an awesome homework opportunity to practice what we had just learned in class. Also, I appreciate that this class utilizes W3Schools as there is so much material on that site that is important for anyone working on programming. Overall, I am very impressed with the structure of this course and it's ability to provide an far-reaching understanding of ITM.