Ga Kay's Mid-semester Reflection

by Ga Kay Gao

15 Feb 2016

My initial overall impression of this class so far is great. I’ve really enjoyed working with Trinket. Before this class, I had taken COMP 110, but I took it over the summer so I felt like I wasn’t able to get a good grasp on the programming foundations. This class has definitely helped me build my skills and knowledge on programming fundamentals. Even though we basically have an assignment due for every class, they are often short and very effective. I think it really helps to be able to read the chapter and have exercises that come straight from the chapter. I found that one of my go-to problem solving strategies is to give myself breaks if I am unable to figure out how to do a certain assignment. Sometimes I can become frustrated when I can’t get the code to work how I want and leaving the assignment for 20-30 minutes helps me clear my head. In the end, I’m usually able to either figure out how to fix my code or find a different way to do the same function. One example of this can be seen with my Turtle Treasure Hunt Game.

Turtle Treasure Hunt Game:

For a while, I was unable to figure out how to give the user feedback on how close they were to the treasure. I remember working on it for a while, but I decided to give myself a break and do other things. When I came back to this assignment, I almost instantly realized my problem. I was trying to set the user_x and user_y to a specific value instead of a range which was why it never worked. It showed me that it helps to step away from the assignment and to give yourself some rest. Sometimes the frustration can lead to you overlooking the problem.

I have really enjoyed using functions. At first, they were bit confusing to me since I haven’t used them that much before, but I was able to get a good grasp on them from doing the exercises in class. One assignment I feel shows my skills with functions was the Turtle Function exercise where we improved upon an old turtle trinket.

Old Turtle Trinket:

New Turtle Trinket with Functions:

Even though I forgot to add a function that returns a value in this assignment, I still feel like it shows how useful functions can be. In my first trinket, I have turtle draw a house, sun, and say a message. In the second trinket, with the use of functions, I was able to draw more with turtle with less clutter on the main code page. I didn’t have to type out all of the code for each individual cloud and house. All I had to do was call the functions I created, and it would do all the work for me.

Out of all the the different topics we have learned, I feel like I understand the logic and the if-else statements fairly well. Although I didn’t technically do this assignment correctly, I was proud of my Logical Turtle Exercise.

Logical Turtle Exercise:

If-else statements can be tricky sometimes especially if you have intertwined if-else statements. For this trinket, I had intertwined if-else statements to account for different user inputs. One hard part when working with Trinket (that I quickly realized) was that indents matter a lot. For this assignment specifically, I would get errors that certain lines didn’t match up with any indent so I had to go through my code and figure out where my lines were off. This can be tedious especially if you have a lot of code to go through. A useful tool that we learned (that I now use constantly) is the ctrl-/ function that can indent multiple lines of code at once. Before learning this, I would individually indent lines of code if they didn’t format right which could be very frustrating and time-consuming.

I think one of the more exciting parts of this class is seeing your vision come to life, especially in terms of the turtle exercises. Whenever I read an assignment, I have my vision for how I want my final outcome to look. With the tools and skills I’ve gained in this class, I am able to write some lines of code and see my vision appear right before my eyes. I’m really excited for the game project. I love playing games so I think it’ll be fun to design my own game.

I know that one thing I need to work on, especially after this class is over, is to keep practicing coding. One problem I have when it comes to coding is I stop practicing so I forget how to do everything. I would love to keep on coding in my future so I need to make sure I’m also practicing. Even now, I find myself having to go back to the book or back to old code to see how to do something. One thing I want to develop for the future is the ability to remember how to do simple functions in trinket. I don’t want to have to constantly go back and forth between the book and old code just to remember how to do a simple function that I should already know how to do.

I think working with a partner has been very helpful. For most of my classes, I tend to be on the shy side, and I’m not the one to usually get up in front of a group of people to talk about my work. Working with partners makes it less stressful for me, and it’s helpful to get really in-depth input and criticism from one person versus maybe a few words of input if we worked on things as a class. The concept of pair programming is still relatively new to me. I think it’s a great idea, but it’s definitely something I need to keep practicing. One frustrating thing about pair programming is the want to do it all yourself. When I usually work on code, I do it by myself with my own computer so it’s different to not have any control over the actual typing part. Like we discussed in class, communication is such an important part of pair programming because without it, nothing would get done.

I’m excited to see where we go with this class in the last second half of the semester. I feel like I’ve have gained a lot of skills in only a few weeks. One thing that worries me moving past this class is that I’m not really sure where python is used outside of Trinket. I think Trinket is an awesome learning tool, but I’m worried about my abilities to use python in other applications outside of trinket. I know we are moving into Cloud 9 soon so I’m excited to see some of the python fundamentals used in another context.

Ga Kay is currently a sophomore studying Information Science at UNC-Chapel Hill. Find Ga Kay Gao on Twitter, Github, and on the web.