Reflecting on ITM352
05 May 2024
1.1 Acquiring basic programming skills in an IT Context
We acquired and honed most of our basic programming skills in the labs and WODs leading up to the last Assignments. Here we gradually learned skills and were walked through basic programming knowledge and use in the class and through the online resources on the website. We then applied this in the labs and WODs to further strengthen our abilities in programming.
1.2 Understanding why MIS people need basic programming skills and knowledge
This was went over in the first few days of class. We were actually asked to look the answer up on ChatGPT as well. The reason given in the class introduction is that (for a MIS major) programming is needed for acquiring, adapting, and implementing software technologies and will be needed to understand the technlogies we will be working with. Examples given are data management, data reporting, database administration, networking, end user computing, etc. We gained a deeper understanding through actually applying the skills in class through the WODs and Labs.
1.3 Gaining hands-on experience in developing software applications
We did have hands-on experiences in developing software applications in small parts through the labs and WODs, though the Assignments (1 and 2), were where we truly did have the hands-on experience and it was left entirely up to us to complete it. We had to come up with code by ourselves and go through the process of executing it and testing it for errors, whilst making it functionable for the rest of our own personal code and goals for the assignment. This was a challenge, though difficult self-guided tasks do help make the knowledge and skills much more retainable.
1.4 Experiencing first-hand MIS problems and solutions
I had problems and solutions for all the WODs and Labs and Assignments though I faced a lot of them in the WODs. Since the WODs were timed, I felt a bit pressured to complete the work and if I got stuck my brain would just falter and it would take me a while to come up with solutions. This happened similarly in Assignment 1 and 2, where I had errors in code that I didn’t know why they occured and took long trials of testing and creating new codes in an attempt to solve the problem.
1.5 Experiencing and understanding first-hand project management, working in teams, software development issues
In this course, I did not work in a team nor did I work with a partner. Though the size of Assignments 1 and 2 did give me first hand experience and understanding of project management and software development issues. The assignments took a lot of time and organization for the entirety of it to work well. It also contained a lot of software development issues which was very beneficial in my experience and understanding when I came out on the other end of it.
1.6 Gaining confidence in addressing MIS problems
A lot of the labs had work done with us in class and the parts done on our own weren’t too far off from the rest, with code given to us sometimes. The WODs on the other hand leveled up the intensity and we had to address problems and come up with things on our own. Assignment 1 and 2, we had to do it all completely by ourselves. This gradual progression in self-guided problem solving has definetly help me gain confidence in being able to understand and address a problem in an MIS setting.
Course Elements and Personal Engagement
When creating a professional portfolio and using it in this class, I first learnt how to use GitHub since that is what we created our portfolios on. I mostly learnt how to use it to represent myself and my work in a professional setting, with ways to contact me as well.
When doing the WODs, I learnt how to tackle programming problems on my own and attempt to finish them in a timely manner. This helped me with quick thinking and problem solving for MIS problems.
When I did the quizzes before the lab, I think that it was decently helpful. In some instances it did help me prepare for the lab though in some instances I feel as if the quizzes could have been done after the lab, since I gained a greater understanding of the task at hand, only after the lab was completed.
When I did the essays, I was able to wrap up what I learnt when doing certain tasks and understand what I had done from an outside perspective. The essays help me consider what I did correct and what I struggled on as well.
When I did Assignment 1 and 2, I learnt how to create web page applications that are personalized to the user and specific to my own personal website. This helped me gain lots of problem solving skills since I faced a lot of errors. In particular, when doing passing query strings between web pages, I learnt that errors can ruin your query string. In my case this happened when errors were passed into the query string and the page refreshed, and upon the correct value being entered, all the values in the query string, errors included, would be passed and displayed on the next page. The overall lesson here I learnt was that instead of updating my code from one incremental task to another, I should be conscious of requirements I have to fulfill and errors that my accompany them and account for them when writing my code. In this case I did not account for this and my code was not flexible enough to deal with errors when they occur in unordinary circumstances. It would be possible for me to do tasks one by one but in my case I felt as if I would have had to go back a lot of steps and rewrite a lot of code to make things work smoothly again.
Challenges and Achievements
Detail the specific challenges you encountered during the course, such as understanding new programming concepts, completing WODs, web application development assignments.
- In the beginning of the course I did find it hard to understand certain programming concepts, and I still do now, though through the assignments and work we did on our own, I’ve gained a better understanding. It is easier for me to know how something works and what it does when I can actually apply it myself, and possibly have it error and make myself go through the process of understanding why it errors, and subsequently how it works, and how to fix it. I would often get stuck on WODs though the screencasts helped me out a little. For the assignments, I faced problems with my requirements, query strings, quantities and error messages. If bad values were entered into my quantities, my page would error accordingly though after making the quantities adjust based on quantities input, making a negative value actually change the total quantity and other similar errors. When passing query strings across pages in assignment 2, if there were errors previously inputted on the page, they would be passed into the query string and also passed into the other pages, not just the correct value only.
Explain how you overcame these challenges and the strategies that helped you succeed.
- For my WODs I would try to attempt the WOD without doing it timed, and I would try to understand what I am trying to learn and the task at hand, and when I believed I gained enough understanding to do the WOD, I would attempt it timed. For my Assignment errors, I attempted to fix them by redoing some of my code, looking in the page source to find errors, and even running my code through ChatGPT to find errors. I did fix some problems but I was still left with my major problems that I was sadly not able to fix.
Highlight any particular achievements or milestones in the course that were significant to you.
- I think submitting Assignment 2 was pretty significant to me. I spent a lot of time on it, did a lot of code by myself and spent a lot of time just thinking about how to write certain codes for the situation I was in. I was very satisfied when something I had been trying to do finally worked out, so it was very gratifying to submit the assignment with pretty much all of it done. I also thought my website was decently pleasing to look at aswell.
Skill Development and Application
Reflect on the three skill levels outlined in the course (syntactic, algorithmic, application) and discuss your progression through these levels.
- For syntactic I think I wasn’t too proficient at it but I wasn’t falling behind. It was our introduction to programming in this class and it took me a bit to catch on but I didn’t particularly struggle. Algorithmic, I got a bit lost. I don’t think I understood a lot of what was happening and I was just doing instead of understanding, only bits and pieces were completely connecting for me. For application, I started to get back into it and put the pieces together and understand what I was doing, though the learning curve was still steep. I only progressed really due to doing the Assignments.
Describe how the hands-on experience with web-based e-service applications enhanced your understanding and confidence in handling MIS issues.
- The hands-on experience with web-based e-service applications enhanced my understanding and confidence in handling MIS issues by allowing myself to figure out how to solve problems entirely by myself. I would attempt to write code to complete a task and when it would fail, I would just sit and think and go through each part of the code, think about where each part is being referenced from and where the code goes and executes, in an attempt of finding the problem. This process helped enhanced my understanding of MIS issues, as well as give me confidence to handle them, after repeatedly facing numerous issues.
Use of AI (e.g. ChatGBT)
- I used AI, ChatGPT specifically, in a lot of my time in this course. Whenever I didn’t understand what certain terms or codes meant, I would ask ChatGPT to explain it to me in a way I could understand it. If I didn’t understand how to write a code to accomplish a task, I would ask ChatGPT. If I had errors or problems with my code, I would tell ChatGPT the situation and my code, and it would help me. The only thing is that ChatGPT would be general sometimes, and it wouldn’t directly give me an answer to my problem. This was fine though, a lot of the times, the way ChatGPT explained the problem or code, was enough for me to gain an understanding an attempt it myself.
Discuss how use of AI enhanced your learning and productivity. Give specific examples of how you used AI effectively.
- If I didn’t understand something, I would ask ChatGPT. After ChatGPT gave me an answer, I would ask it to explain it in simpler terms for me to understand it. This would enhance my learning since I would digest the concepts easier. For productivity, the most ChatGPT helped was when I asked it to give me code specifically for my CSS in the way I wanted it to be. ChatGPT would pretty much give me what I wanted, though I would make a few adjustments to my liking.
Discuss how use of AI inhibited your learning or and productivity. Give specific examples of how you used AI ineffectively.
- When I would ask ChatGPT to write me code to execute a task, a lot of the times it would spit out long lengths of codes, functions, and variables needed to execute a task, when it would only take me a significantly smaller amount of lines to code it myself. I would often have to explain every significant little detail and context of the assignment for it to work, and even then it would not work. It would also suggest fixes that were not even real until I pointed them out as wrong.
Future Implications and Professional Growth
Explore how the skills and knowledge gained from ITM 352 can be applied in your future academic and professional endeavors.
- The skills and knowledge gained from ITM352 has given me atleast a baseline in the ability to program. This will help with my academic future by building a foundation for the classes I am to take next for the MIS major. This in turn will be the foundations for the skills and knowledge I will present when I move onto my career.
Discuss the potential impacts these skills will have on your career, especially in terms of understanding and addressing MIS problems.
- Having skills and knowledge in programming will be beneficial in my career, especially if a job entails specifically in programming and web-based applications. My understanding of addressing MIS problems that I have done before, will be useful in situations where I have to solve similar problems, and will be fruitful opportunities for me if they come up.
Reflect on the overall value of the course in your educational journey and future career.
- I think this course was extremely valuable in my educational journyey and future career. This course is the introduction course to MIS and help built the foundation of skills and knowledge in programming that I will work off in for the rest of my academic career and future career. The work I have done in this class will carry on in other classes and into the work field.