Soojin’s Focused Reflection Post
As someone pursuing a user experience research route, I was often told that knowledge of coding is not necessary– that I could work on other UX related skills to boost my resume. Someone even told me:
“Why do you want to learn unnecessarily hard Python? You are just going to stress out and feel lost.”
I’ve always saw user experience researcher/designer as someone that bridges multiple fields to make a beautiful deliverable product/service people can enjoy. With coding knowledge, I wanted to better understand programmer’s struggles and lingo that front-end designers often have clash with. Even though my experience with coding was beginner level familiary with HTML and CSS, I felt scared that Python was going to be on a whole another level of new language and approach to coding. However, our first in-class activities were all about fun, with lots of colors and laughter. Unlike my roommate who used Python to make mathematic functions and statistical tools, our first activity was learning about Tina, our personal 🐢 pet! We get to experiment Tina running around, creating something festive and original like this. I especially liked that I didn’t have to create this christmas tree out of nowhere, but rather it’s an evolved form of our previous codes. My 🎄 was one of many art we as a team made and showed off to each other. We get to see how fellow classmates get to utilize pre-existing codes and apply their previous experience on top of newly gained skills to produce diverse visual Python codes. I even saw someone make an entire bookshelf using Tina, how cool is that! The best part is I get to see their codes and learn that there are so many different variations of what
Seeing how Python visually codes line by line helped beginners like me to tackle challenges one by one. For instance, one of our first in-class codes we examined was:
# You can edit this code and run it right here in the browser!
# First we'll import some turtles and shapes:
from turtle import *
from shapes import *
# Create a turtle named Tommy:
tommy = Turtle()
tommy.shape("turtle")
tommy.speed(7)
# Draw three circles:
draw_circle(tommy, "green", 50, 25, 0)
draw_circle(tommy, "blue", 50, 0, 0)
draw_circle(tommy, "yellow", 50, -25, 0)
# Write a little message:
tommy.penup()
tommy.goto(0,-50)
tommy.color("black")
tommy.write("Welcome to INF 380P!", None, "center", "16pt bold")
tommy.goto(0,-80)
# Try changing draw_circle to draw_square, draw_triangle, or draw_star
The past me would have looked at the whole code and felt bombarded, but now that I familiarized myself with codes by creating a variation from it, I can self-reflect and formulate questions and comments such as:
- Tommy is turle’s name right?
- tommy.() means a command ( which we later as function. )
- Inside paranthesis of a function, there are conditions in which Tommy follows ( which we later learn as arguments. )
From these learnings, I got to create more complex codes that involved what I learned. Something interactive like this!
Even though codes use basic string and function abilities, knowing that I can utilize them on top of previously learned user inputs, I felt pretty proud of myself! Plus, I got to challenge myself using a new function I searched called “list” :
import turtle
myscreen = turtle.Screen()
sooj = turtle.Turtle()
sooj.shape("turtle")
move_str = input('Where should Sooj Turtle go? (forward or backward)')
print(move_str)
color_str = input("What color is Sooj Turtle going to be?")
list1 = ["forward"]
list2 = ["backward"]
list3 = ["red", "orange", "yellow", "green", "blue", "purple"]
So far, this class has been nothing but rough fun journey! Thank you @Professor_Elliott and @everyone who has helped me. See you in class! 🙂