E7: Reflective Analysis of my ITM 352 Experience

05 May 2024

ITM 352 has the following course goals:

Acquiring basic programming skills in an IT context

I went into this class and this semester with zero knowledge, if you had asked me what html, CSS, or javascript was I couldn't really give you an answer. Throughout the semester I definitely acquired new skills, I now have a general understanding of very basic coding concepts and now know the processes behind which those things work. Javascript has been the biggest help in terms of watching how all of the processes in a system come together to work and how easy things can go wrong.

Understanding why MIS people need basic programming skills and knowledge

Building upon my previous answer it is to effectively find and fix “simple” programming problems. I say simple because obviously I am not a computer science major and there are a whole host of complicated problems that go beyond the scope of this class. As an MIS professional it is our job to kind of be like the first line of why isn't this working, go into the manual and find the solution to problems, hence the abbreviation “rtfm.” But through this class we have got to see our fair share of “stupid” mistakes which make them easier to see once we get into internships and jobs

Gaining hands-on experience in developing software applications

I do think the most obvious examples of this were assignments 1 and 2. In these assignments we each built our own e-commerce store and had to add various components to it. In assignment 1 we had to essentially take the products page we had been working on since day 1 and add our invoice page from our WODs to it while incorporating a few extra details like input boxes and unique CSS designs. In assignment 2 we were tasked with building a login and registration page and passing info along a query string.

Experiencing first-hand MIS problems and solutions

This has been a recurring theme throughout the semester. We were simultaneously creating our own problems and finding ways to solve them. Because we were all relatively new to this skill we ran into issues where maybe it was misspelled syntax or a chunk of javascript placed wrong but through trial and error as well as reading the manual we were able to solve problems.

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

This definitely came from assignments 1 and 2. Having to budget time for these two projects was different from any other assignment I had done thus far so it was a new experience for me. So much time went into testing, fixing, trying something new, and retesting that it was basically impossible to start the day before the due date. Collaboration was one of the things that helped me get through the entire class. It helped me bounce ideas off other people and learn what they did and see how other things worked well for them. Additionally, suffering with other people and knowing you're not alone was a great comfort to me throughout the semester.

Gaining confidence in addressing MIS problems

As time progressed in the class I got a little more confident in my ability to address certain MIS problems. Nobody's perfect and I certainly am not so there are still some things I struggle with but overall I feel confident enough in figuring simple problems like when code is placed wrong for finding simple syntax errors.

Course Elements and Personal Engagement:

At the time I believed that creating the portfolio was mildly challenging but looking back on it I only thought that because I had never done anything like it before. Now that I am more comfortable it was one of the simpler things to do in class. SOme of the things I took away were just the simple formatting of things in essays and the page itself as well as the different tags and what they do. I think one of the things that I took away from the WODs was how to better think on my feet with these concepts, because it is recording and there is a timer it simulates a little bit of pressure and when things don't go the way you expect you have to quickly diagnose and solve the problem. The labs were really helpful in just introducing me to all the different concepts and how they work, getting to see and write the code alongside professor Port were really helpful to me as it allowed me to get a better grasp of how things like functions, sessions, and cookies work. The essays helped me to benchmark my progress and look back at how I was feeling and where I was at in the semester and appreciate where I am now.From assignment 1 and 2 I learned two big things, first how everything from all the labs and WODs came together. Second, How much time goes into getting your system to work, there will inevitably be problems and testing and finding the solution will generally take some time so budgeting your time well is important.

Challenges and Achievements:

One of the biggest challenges I faced in the semester was towards the end of assignment 1 I was still struggling to get my individual requirement to work. I met with professor Port and he helped me realize that I made a simple mistake and Instead of writing the error to the server I should write it in the store’s javascript file. That, in my opinion, was my greatest milestone in the class. Once I finished the IR for assignment 1 I was totally finished with the assignment and I felt relieved and accomplished and that was one of the best feelings I got from this class.

Skill Development and Application:

I think through the semester the difficulty and skill levels were positively correlated. The first and most simple was the syntactic skill level, I picked up on it pretty quickly cause all of it was basically making sure you spelled everything correctly and having previously worked with a newspaper that's a skill I had already picked up. Algorithms were a bit more tricky but the more we got into it the more it made sense. I recall our algorithms lab where it was just a bunch of steps and making sure you followed a logical order. The application level is where I started to struggle because sometimes applying things are easier said than done and I had to spend a lot of time reading up on those concepts because I always ran into issues where my system wouldn't quite work right.

Use of AI (e.g. ChatGPT):

The most effective use of ChatGPT was when I was working on assignment 2 and I did not read the manual so I used ChatGPT to write an if statement for needing a special character in their password. I didn't use the whole if statement, I just needed to know what the if requirement was. I also used ChatGPT to help me format some of my CSS, I am not the best designer so it was a very big help there. The times when ChatGPT was ineffective was when I got it to write a whole chunk of code. It's very cumbersome to throw a whole javascript file in there and even when you do it doesnt know how it links to the html file or other files so it will probably still give you something that won't work.

Future Implications and Professional Growth:

While this class was a massive time commitment I do think I am taking valuable skills from this class that I hope to hone in my professional career. This class has given me a good foundation in programming for which to build upon. As I look to go into cybersecurity, making sure ourcode is secure and encrypted is essential in maintaining both internal and external security. Going into internships it will make the learning curve a little less steeper with the introductory knowledge gained from this class. I have picked up skills that will also help me in my academic journey, just this semester I had to use the command terminal in my networking and securities class and without the introduction from this class moving around in the terminal may have been a bit more clunky and difficult for me.