E7: Reflective Analysis of my ITM 352 Experience

05 May 2024

Course Goals ITM 352 has the following goals:

1.1 Acquiring basic programming skills in an IT context

Basic programming skills in the IT context include software development, syste, administration, and more. In this class, we learned the basics of programming in preparating for our final big Assignments. We started off by learning HTML, one of the more easier programming languages. We then dived into Javascript by learning individual functions, variables, data types, and structures before trying to put everything together. In between Assignments, we learned new features such as file input/output and cookies/sessions to include in our Assignments specific to their objectives. With the programming skills I learned, I was able to create a functionable (not perfect) website which allows a user to purchase items, log in, and receive an invoice of their cart.

1.2 Understanding why MIS people need basic programming skills and knowledge

MIS people need basic programming skills and knowledge because they are most likely going to work in a career where they often have to deal with diverse systems and technologies to communicaite with each other. They may also do data analysis, debugging, innovatation, infrastructure planning to advance business initiatives. I was able to learn more about integration through Assignment 2 where I had to facilitate seamless communication and data exchange between different pages for user registration and user purchase.

1.3 Gaining hands-on experience in developing software applications

I was able to get hand-on experience in developing software applications through Assignments 1 and 2. The labs we did in class prior to the major Assignments were stepping stones to help us prepare and be incorporated in. The major Assignments’ essential goal was a functional e-commerce. We used a template and built off on it for personalization and catered to our requirements. Although the idea of an e-commerce store seemed simple, it was difficult trying to put the code in the correct structure. Assignment 2 was the most difficult for me since I had a hard time trying to implement validations and connecting the different pages together.

1.4 Experiencing first-hand MIS problems and solutions

Experiencing first-hand MIS problems were sometimes difficult to approach because there is no definite solution. Everyone’s code differs, even if we are doing the same project. In Assignment 1 and 2, we have many lines of code, so it was hard to pinpoint where something went wrong. I learned that it is best to add comments to make sure you know what a certain chunk of code does, before looking carefully at each line when checking for mistakes.

1.5 Experiencing and understanding first-hand project management, working in teams, software development issues

It is very important to make friends or have friends in a programming class with you. I personally think that by doing the Assignments and even labs alone, would be very difficult. I had difficulty with my code on my Assignment 1 and 2, therefore, I would ask my friends to help me review or be my “second-pair of eyes” to spot anything wrong. As for software development issues, using Google Cloud for the first can be a little confusing without instructions. One of the biggest, yet minor mistakes I made using Google Cloud was putting the default URL ID before I realized I should have changed it for Assignment 2. Although it is something small, I feel like it makes a big impact for if it was an actual website people would go to.

1.6 Gaining confidence in addressing MIS problems

ITM 352 was indeed a difficult, yet rewarding class that allows you to really THINK. My problem-solving skills were challenged and I constantly thought about my labs and Assignments whenever there were an unsolved problem. I slowly gained more confidence over the semester as our class continuously worked together on labs and become familiar with the functions. I think I became more aware of what common mistakes I made and was quick to change it.

Course Elements and Personal Engagement

Creating a professional portfolio allows me to display what I have done in ITM 352 (although a few repos are locked). The essays are viewable to others including incoming ITM students that don’t know what to expect. Our advice and experience can help them prepare for labs/Assignments like how they have done for me when my upperclassman friend shared her experience with me.

The WODs were honestly one of my favorite assignments, I realized after we stopped doing them because we have to go step by step and explain what we’ve done. By recording ourselves and explaining what we did, it helped me retain the information and understand completely what I did.

The quizzes were nice in helping you get a snippet of what you would be learning in the upcoming lesson. It’s like a “AHAH!” moment when we use a line of code in the lab that was in the quiz the night before. Doing the labs helped me get a better understanding how the course content. It is not just taking screenshots of the lines of code we did to satisfy the objective, but the questions that asked us to explain how something worked. Assignment 1 taught me how to design an e-commerce store while Assignment 2 taught me how to make it more functionable and personalized for the user.

Challenges and Achievements

The challenges I encounrted during the course was definitely understanding the new programming concepts because the schedule is set to allow only one week per concept. Although this can be normal for other course subjects, it is not for ITM352. Programming requires a lot more time and commitment, therefore, for those who are taking the class in the future, please allocate a lot of time for this class to do well in it.

The WODs, I did not have much problems until my computer screen cracked. That was the hardest challenge for me this semester. My screen cracked in early March and it was quite devastating because I couldn’t see a part of my right and all of the bottom of my screen. That led to me having to turn in Assignments late. Nearing the due date for Assignment 2, I had to get my screen replaced because it was getting so bad. I had to redownload the GIT tools, make sure I got everything pushed to repo, and then have all my assignments transferred to another computer temporarily. That took up a good chunk of my time. The biggest achievement from this course was creating an e-commerce store and having some of the basic functions down.

Skill Development and Application

The three skill levels outlined in the course accurately describes the progression through the semester. At synatic, you start slowly, working with basic code and trying to familiarize yourself into using VS Code, console, etc. Then in algorithmic, we slowly learn more informationed-packed concepts. That’s when I started to realize how important time-management is for this class. A lot more effort needs to be put in especially when this level is reached during mid-semester. Then, comes application where the knowledge you learned from WODs and labs are applied into Assignment 1 and 2. Lots of effort is put in to complete these Assignments.

The hands-on experience helped me understand and grow confidence in handling MIS issues. Often in WODs, even if you did multiple tries before, you could encounter issues in the middle of recording. Through these WODs, I became more confident in problem-solving when I walk through with myself on solving an issue. When I talk to myself through what looks right and wrong, it’s like I am teaching someone how to solve the issue. The learn and teach method helps me practice what I learned.

Use of AI (e.g. ChatGPT)

ChatGPT enhanced my learning and productivity by providing me detailed explanations of how functions worked. In labs, there are often questions that asked for explanations of what if something happened. Although, I would follow the instructions to change the code or console, there are times where I can’t believe how it happened. This is also an example of how I used AI ineffectively because I could have spent more time on my own trying to solve the problem on my own rather than resort to ChatGPT.

Lastly, ChatGPT is helpful in debugging. If I couldn’t find a mistake after looking through line by line, I would paste the code into ChatGPT and it would point out what is wrong. Often times, it would be a spelling mistake, wrong order of code, or a missing }).

Future Implications and Professional Growth

There is so much that is learned from this class. From the basics of HTML at the beginning of the semester, till finishing Assignment 2/Lab 14, it was information-packed. I hope to use the skills and knowledge I gained from ITM352 to better prepare myself when I receive a project that is as big as Assignment 2. For a beginner, soft skills are essential such as time management, problem-solving, and research skills. Even I did not know enough, these skills helped me work through the assignments, labs, and WODs. Persistance and determination is what is needed for this class. This can be applicable in any career, even if it is not MIS related. There will often be problems that are encountered while working and they can be overcomed. As for the technical skills I gained from this class, I want to utilize what I learn to practice coding on my own to become more comfortable. Overall, this class was definitely memorable. There is so much I learned within a semester. It is knowledge that is useful and can be applied in the real-world.