Developed foundational skills in procedural programming and algorithmic problem-solving using Python.
This course was my very first step into programming, and it built my foundations in Python from the absolute basics—variables, loops, and functions—all the way to advanced concepts such as classes, inheritance, generators, and even shell scripting. Because it was the first run of a newly reformed curriculum, the structure was highly rigorous: every task and assignment had a strict standard, and I could not progress unless I reached it. This “threshold-based” learning model pushed me to truly master each stage before moving forward. The assessments included three challenging assignments and two in-person tests, which required not only correct solutions but also efficient, readable, and well-tested code. The latter half of the course was especially demanding, with advanced topics introduced at a rapid pace, but it was also the stage where I experienced the most growth. By the end, I had not only learned how to code but also how to think like a programmer—systematically breaking down problems, testing aggressively, and building solutions step by step. This course gave me the confidence and discipline that carried over into every later computing subject I took.