As the weeks went by in CSC148, I felt as though each week I was gaining a firmer foundation and broader skill-set as a computer programmer. Naturally, my progression as a computer programmer led to a progression of viewpoints that I previously held for certain aspects of computer science. So this week, my primary focus will be reflecting on the development of my viewpoints for trees by revisiting my previous SLOG post during week 8. On my week 8 SLOG post about the recursive data structure known as trees, I revealed my skepticism on the usefulness of introducing such a topic. In essence, I didn’t feel that we should even invest time in learning about trees due to my lack of understanding of real-world applications of such data types. Although I developed an intuition on what trees were, how they behave, and how to traverse them, I didn’t quite fully understand how they can be used in solving problems. Using different techniques and data types in order to solve problems in the real-world is, in my opinion, the main goal of a computer scientist, and this is where my reluctance and apprehension arose. However, now in week 11, my viewpoint on the usefulness of trees has flipped and my skepticism completely negated. Working on assignment 2 was integral in expanded my familiarity with trees that is not only limited by understanding them abstractly, but also how they can be useful in solving real world problems. For something as general as solving puzzles, data types that mimic the structure of a tree can prove to be extremely useful, which was evident by the class PuzzleNode on the assignment. With this in mind, it is much clearer to me that trees are not only data types that help you with understanding recursive behaviour, but they more importantly have fundamental implications on the real-world by applying them to solve various problems. From solving general puzzles for assignment 2, to dealing with order of operations for arithmetic expressions, trees can be used to solve a wide variety of problems, something that was not completely evident to me when first introduced it. Now I believe that learning all about trees is not only useful, but essential in progressing as a computer scientist!