Rabouti's reflection on the class so far

by rabouti

22 Sep 2022

Rabouti’s Reflection

The first lightbulb that turned on for me in this class, Introduction to Programming, was actually on day one - when Dr. Hauser said, “You’ll never know Python, but you can gain fluency in Python.” Upon this class, I was a complete novice to all things code and program related. Nevertheless, I realized I didn’t have to know everything about Python to learn “how to Python.” I was under the impression that Python was something that could be learned in totality (which could not be more wrong). When I started looking at Python as a language that one would not/could not master in totality…. lightbulb. Moreover, his advice gave me more confidence to delve into the world of programming. I don’t feel like I have to know everything about Python, but I’m still intrigued and want to be as fluent as I possibly can be.

Personally, I’ve experienced a fair amount of confusion regarding chapter 5 – functions. There is so much to absorb and understand about this chapter. Due to my confusion, I took extra time reading and reviewing chapter 5 and committed myself to writing my own functions to obtain more hands-on practice which definitely helped me work through my confusion.

In addition to finding functions confusing, distinguishing and remembering all the terminology is slightly fuzzy for me. In order to resolve this fuzziness, I am going to review each chapter in the textbook and continually familiarize myself with new and old terms.

To solve problems, I take the time to understand error messages and work backward from each error. For example, I made a user-interactive program that can tell you what your astrological sign is and which generation you belong to, and I specifically experienced difficulties getting the code to tell the user what their astrological sign is. I kept seeing the message “Syntax Error” - I then realized that I needed to put a colon after the function definition! Additionally, for other problems I’ve encountered while writing code, I carefully analyze the code I’ve written and refer to the textbook to check myself - and make changes accordingly.

Conclusively, I think the format of this course is genius. I’ve already recommended “Introduction to Programming” to several fellow “iSchoolers” because of how enjoyable and valuable this class is – it is perfect foundation for programming. I sincerely appreciate the creative freedom that is encouraged/promoted/allowed. This course has changed the trajectory of my career, and I am so grateful.

Below I have provided three examples of code I have created and one static code block:

Basics of Turtle, random/fun design:

Before I refactored my random/fun design, I had 271 lines of code. After refactoring, there are now 132 lines of code. I am much happier with my code, but still think I could make it more organized and efficient.

Below I have provided a function that I defined and used 3 times throughout my program:

 # Look what I did here
 def draw_circle_loop():
    for x in range(8):
        tina.left(45)
        tina.circle(100)
 draw_circle_loop()

Logical Turtle, astrology and generation:

Logical Turtle, user interactive “Knock, Knock” joke:

Rabouti - An artist with the mind of an analyst. Find rabouti on Twitter, Github, and on the web.