Wrapping Up the Learning Project

Over the past 4 months, I have decided to learn how to code Python.  I set my goals very high, although I did not reach all of them due to the level of difficulty I did learn a lot.  In this post, I am going to highlight the successes and the struggles of my journey in learning how to code Python.

Successes

  • I spent time learning the syntax (the rules of Python) and this itself will prove to be beneficial as I will be able to Python scripts, and I will also be able to learn a little bit about other coding languages as well.
  • I have learned how to successfully log in to a website by running a Python script.  Although I could not ger my Python script to successfully complete the action of liking some #eci831 tweets I was happy to use Python to automate this process.
  • I created a text-based video game that the user had to defeat the “Monster” this was a very involved process that I was glad to see worked out in the end.
  • On my RaspberryPi, I bought a camera.  I was successfully able to take a picture with this camera and upload it block by block into Minecraft.  Although not applicable to many things I did have fun testing out my creation.
  • One of the highlights was for me to understand how to create a Graphic User Interface.  These are the actual windows that pop up on computers. I was able to create a working calculator, and I am continuing to try to create some sort of game using Python.
  • I utilized two apps to learn how to code Python, Sololearn and Py.  These apps helped me learn the syntax for coding Python

Struggles

  • I really struggled with the ability to not see success right away.  Coding is a complex skill that requires problems to be broken down into small problems.  I struggled to get many components to work and got frustrated in the process.  (Reflecting on this, this process was important for me to experience as many of our learners also face these problems.
  • In my current job, it already requires a lot of screen time.  I struggled with the fact that some days after spending a large portion of the day working on the computer that I would have to come home and work on some coding.  (On reflecting, it might have been beneficial to learn how to do something more relaxing, for example, how to use my Cricut to decorate for my wedding)

Thanks for tagging along on my coding journey!

For all my Python posts check out my ECI831 Category: Learning Project 2.0.

 

Week 7: Creating a Simple Calculator

This week I attempted to code a game with my GUI and Tkinter using the code that I have created in a different week with the text-based game that I created.  I discovered that this was actually A LOT more advanced than I had anticipated. However, the learning gained through this process was valuable.

One of my struggles last week was to figure out how to make buttons disappear when they are clicked.  That was a success.  This was due to the online forum Stack Exchange which allows people to ask questions about their code.

I am currently finding it difficult to take my code and apply the attack and heal buttons to execute the math equations that I want it to do.  This has turned out to be the current delay of the game.

I seem to be stuck in a cycle of trying to figure out why something is NOT working, as well as trying to figure out what something IS working.   In coding, there is something called Rubber Duck debugging. This involves talking through code to your rubber duck in the hopes that talking through your problem we can understand what the issue is.  As strange and silly as this may sound, this could be used in a lot of other applications.  Imagine a situation where we can encourage students to decipher and problem solve by taking the problem, decomposing the problem into smaller pieces.  Recognize patterns, filter information, and organize steps in order to solve problems. By talking through problems to my rubber duck (yes, I have one on my bookshelf next to my computer) it allows me to troubleshoot by myself, then I can take my issues to the next level asking for help. Imagine if we trained students to use this level of thinking and independence? This way of thinking also is the foundation of Computational Thinking.

However, in my frustration, I decided to take on another challenge.  Building a simple calculator.  Using the GeeksforGeeks website, I was able to discover a tool that walking me step by step into creating a working calculator.  Now, this calculator that I have created could be improved.  And I feel as I may switch gears in the future to see how I could implement something such as brackets, exponents to add on to my calculator.  My hope is that I can take these skills from this activity and apply them to complete my game in the future.

Below is my video that talks about the calculator that I have created this week using Tkinter and Python:

Week 6: Creating a GUI (Graphic User Interface on Python)

About GUIs:

This week I focused on learning about Graphic User Interfaces (GUIs), what they are and how to use them.  According to Computer Hope,  GUI us a system of interactive components such as icons, and other graphical objects that help a user interact with computer software.  A GUI is often pronounced as G-U-I or as “gooey”.

Everyone who has operated a computer has seen a GUI.  A GUI can look like the following:

 

 

 

 

 

 

 

 

The following video Crash Course video explains all about GUIs.

Learning Project using Python on my Raspberry Pi to Create a GUI:

This week was all about learning how to create a GUI within Python.  I used many different tools such as the website LikeGeeks. This website broke down all the components of GUI’s and how I was able to add widgets such as text, buttons, radio buttons, checkboxes, images, menus.

Below are some of my creations for the week.

This photo highlights the code required to create a Combo box, a menu that provides a dropdown with a list.

The following shows a label, “Hello”, and a button “Click Me”.

 

 

 

 

 

 

 

 

The upcoming week I hope to take my new GUI knowledge and apply it to the game that I have created prior.  Instead of using the command line, the user will hopefully be able to interact with the screen to play the game.

On first attempt, this was proven to be difficult as I found that it is difficult to make the button provide new information and then disappear, something that sounds so simple I tried to complete for well over an hour and a half.  Hopefully by using resources such as stack overflow, an online forum, will help me troubleshoot some of my issues.

Week 5: Minecraft Selfies

This week in my learning project I decided to use a Raspberry Pi.  A  Raspberry Pi is a small computer that promotes teaching basic computer science in schools.

This has been my first project with the Raspberry Pi.   There are numerous tutorials online that will work through how to code using a variety of different lessons.  This week I decided to look into one called Minecraft Selfies, as I was inspired by Meeno Rami’s guest appearance last week.  I decided to buy a Raspberry Pi camera module and experiment with Minecraft Pi.  Minecraft has its own free version on the Raspberry Pi.  This plays as normal Minecraft, but I can add some code to the game.

Check out what I did this week!

Week 3: My First In-depth Program, the Twitter-Bot

This week I spent the majority of my time using Sololearn and Py to further my knowledge of Python.  However, I did end up finding a YouTube video that walks through how to create a Twitter-Bot.  This Twitter-Bot’s goal was to look up a hashtag, like tweets in order to gain followers.

Talk about digital citizenship…

I thought it was kind of a cool idea at first, but after reflecting on it for a minute I thought that this ties into my previous post titled, The Ups and Downs of Social Media in the Life of Me.  This creation that I attempted to complete in the following video was aiming to create a larger Twitter following, which feeds into the narrative that more Twitter followers the better, more popular, etc.  Near the end of the video, the creator also said that many people do this and sell it to people to become an Instagram Influencer.  This provided me with a lot to think about.

My creation

I went ahead to see if I could get this Twitter-Bot to work for myself.  Needless to say, part of it worked and part of it didn’t.  This is perfectly okay, as I am not sure about where Twitter stands on using automation in Twitter (it is probably not very popular).

Week Two in Learning the Language of Python

This week I have focused a lot on using the apps to support me using Python.  I believe that I have learned enough of the rules/syntax of Python that I can start actually diving into coding something a little bit larger.

In the following video, I take a look at the tools that I have been using so far in my Python journey.  SoloLearn, Py, Udemy, and Arduino.

Please check out my video.  Or if you have any ideas tips, tricks that you have used to learn coding please reach out. Next week I plan on focusing on using YouTube to create some cool resources.