When I first started learning how to program in Java, the things that we were learning and the activities in class made programming look fairly “simple”. The reason I thought it was simple was basically because of all the methods, functions, and the default libraries Java had. However, as I moved from an intro level course to an intermediate level course, the level of difficulty went up a considerable amount, and solving programming problems by just translating my ideas into a computer were not so simple. I was struggling trying to debug issues in my code because the implementation logically made sense in my mind, but the computer could not make sense of it. Perhaps the best comparison is like an artist who drew on paper all their life decides to start drawing on Adobe, the ideas/concepts would be there however the implementation would naturally not be the same as just drawing on paper since they would have to learn about all the tools and features within the application. I realized that I must start thinking line by line just like a computer would, and at first this was a difficult approach because it’s always much easier to just think of something and do it, a linear approach. However, this change in thinking helped me develop a better overall approach while programming, helping me to reduce the debugging process while also prompting me to ask myself questions each time I write a line of code.