In the beginning I felt the usual ‘I have no idea what’s going’ thought flying around my head and then felt my blood pressure drop a few times during the first week of lectures and while attempting to solve labs. Then of course, I convinced myself I can do this and brushed it off but quickly I realized this wasn’t a confidence issue, or a motivation issue. No, this was an absence of a very important skillset and that is key while learning programming and somehow It didn’t affect me as much. I couldn’t figure out what it was at first, but eventually with practice, with more experience and help from instructors I could see it. I realized my personal struggle is a very real struggle for many learning programming.
Abstract thinking, Logical thinking in programming is not easy and it can be easier for some people and harder for others. As it just happens that is a huge problem with me while coding. Well what does abstract thinking mean in terms of programming? I took the liberty to find a small description and found one in an article written by Thorbern Janssen called “OOP Concept for Beginners: What is Abstraction?” and he writes “Abstraction is one of the key concepts of object-oriented programming (OOP) languages. Its main goal is to handle complexity by hiding unnecessary details from the user. That enables the user to implement more complex logic on top of the provided abstraction without understanding or even thinking about all the hidden complexity.” but in simple terms abstraction in programming is basically solving a problem, or creating something without the need to know every little detail about the tools your using in the first place.