Throughout the 121 module, I have deepened my knowledge in computational thinking through working with Python. These skills are both essential and broadly applicable in today's computer programming industry, where the same computing logic is useful regardless, especially with Python's ever rising popularity in the modern coding scene. The ability to develop software in Python is a valuable skill as a professional within IT, and with knowledge also comes experience that will help me greatly in my future endeavours in this field. The ITB degree offers various career prospects, and with the coding knowledge specifically from this module, I am able to explore programming and software related career choices in today's job market. With my current skills, simple application development jobs are definitely viable prospects. However, one that particularly piques my interests are game development related career choices. Should I aim to prepare myself to work in this field in the next three to four years, I would first need to gain a much broader knowledge and experience in working with different languages and environment such as C, C#, C++ and the alike. I must also gain much more experience working with game engines, such as popular ones like Unity and Unreal Engine, to not only understand how to code specifically with the intention of game development, but also to prepare for the likely prospect of developing my own physics engines. Needless to say, knowledge in other related fields are also crucial in being able to succeed in this career, such as game sense, game design, marketing to name a few amongst many others.
Reflecting on my work for the course of the module, there are certain areas of my work than I'm proud of and equally areas that I believe would require improvement in the long run. From design to testing, I believe my raw programming skills are one of my strengths, and that I am not only able to follow the pace of the class with ease, and also manipulate my programs to do as I please with relative ease. This is much thanks to my previous knowledge and experience with other programming languages, and with the proper syntax, I am confident in handling Python without too much problems. One of my greatest flaws would be my documentation within my work, making it hard to follow for other programmers looking at my work. This is much due to my bad habits from my previous experiences, where I only coded for myself without consideration of the need of clear documentations and write up for potential developers and contributors to my work. Both these strengths and flaws are reflected in my programming assignment of this module, where we are to develop a grade processing system in Python. I was able to make the program fit exactly as the task specified and to even address some more concerns of the program such as the model in class required launching the program in a specific sequence for it to function properly, as well as fully addressing all possible errors in the program. However, my documentation was severely lacking especially at points where it deviates with the class example, which has become much more apparent after going through my own work again.
Looking back at this year, there were serval goals and objectives that I dedicated myself to achieving within this year, and to also make progress to within the year with hopes to achieve by the end of my 3 years degree. Some of these are:
To improve in my programming abilities, particularly in both knowledge and experience, to develop the ability to more efficiently solve various problems through software development
To adapt my pre-existing knowledge of programming into better practices, in order to make the most out of this advantage should I engage myself into a career in IT
To broaden my general knowledge in IT, both software and hardware, for its historical development and future trends, increasing my overall awareness in this field of work
I believe that throughout the course of this year, I have made improvements in all 3 of these goals, each in its own ways. I have managed to gain more experience working at tasks specifically designed to develop specific skills throughout this year, with that developed some more knowledge in methods and strategies I can use to solve various problems; I have also began to correct some of habits that I have recognised to be harmful for my future programming career, and through consistent practice and self-reminder, I am making an active effort to improve myself; And I have managed to learn something new about the way IT interacts with the modern world, with some more insight into both the past and the future of the IT field. While I don't think I have made leaps and bounds in all these fields, I am still quite satisfied with the improvements of my capabilities, matching many of my aspirations. However, it is evident that I am still very much lacking in all 3 areas I have identified for myself to consider myself truly capable, and that consistent effort is still very much required for me with the intent of improving myself to these aims. Overall, I can say that I am happy with my progress this year, and with both these goals and my current capabilities clearly identified, I am confident in being able to improve much more in the coming years of my academic studies.