PythonForEverybody

Example Personal Project Problem Statement

Based on Python for Everybody Specialization

Goals

  • Complete the Python for Everybody Specialization and advance with the knowledge needed to learn Python

Boundaries / Scope

  • Complete Course 1 Programming for Everybody (Getting Started with Python)
  • Complete Course 2 Python Data Structures

Success criteria

  • My own application for data retrieval and processing.
  • Weekly work log with screenshots and summaries to demonstrate activity.
  • Learning a new language as a result of completing this course.

Constraints

  • I will be auditing the course for free so will be able to read and view the course content but not submit projects or earn the certification.
  • This is my first language, therefore there will be a learning curve with it.
  • I work an average of 30 hours a week. This can be problematic if I don't plan time for homework to do. Most of my work will be done on the weekend along with prior homework from other classes.

Assumptions

  • The courses will be available for the duration of the semester. (~12 weeks)
  • I will have all required software.
  • I have both a laptop and desktop where I can work interchangeably with and therefore have time to work on it on the go.
  • I can skip the Installing and Using Python units.
  • It will get to be hard as I have never programmed before and this will be my first language.

Stakeholders

  • Professor - for grade
  • Parents - investing in my education and future success, want to make them proud
  • Perspective Employers - artifact will be added to my student portfolio which could help with getting a job
  • Myself - It will help me improve on my future and provide a foundation for my future studies.

Timeline

Week-by-week breakdown:

  1. Chapter One: Why we Program? (3 hours)
  2. Chapter Two: Variables and Expressions (3 hours)
  3. Chapter Three: Conditional Code (3 hours)
  4. Chapter Five: Loops and Iteration (3 hours)
  5. Chapter Four: Functions (2 hours)
  6. Chapter Six: Files (3 hours)
  7. Chapter Seven: Lists (3 hours)
  8. Chapter eight: Strings (3 hours)
  9. Chapter Nine: Dictionaries (3 hours)
  10. Chapter Ten: Tuples (2 hours)

Personal Timeline

Week WEEK One/Two) (They are very similar material, as we're setting up for the course, so I combined both chapters)* We learned about why we program and how to set everything up so we can begin programming. I downloaded Python, Atom, and a text editor for this program. I got to get some hands on experience with the python editor/shell. It was a great introduction especially cause it featured the creator of the Python Language.

WEEK Three During this week, I was taught how to get python to spit out "Hello World". By typing print("Hello World!") He also got into explainging what IF, Else, While, For, etc. or conditionals for us to get introduce them. He also showed us examples of them. This week was very uneventful as he was getting us ready to "think as a programmer." I feel like the comming weeks might be more insightful and educational.

WEEK Four We started learning about expressions and how to work with them. For example he went over what a variable is, how it stores it's location and how the expressions are being evaluated. The Professor also explained the ways that some operations are prohibited. Such as adding a number to a string. I learned how string conversions are used int() and float(). On the third part of this week, we learned about using comments and how they don't interfere with anything.

WEEK Five During this week, we were taught when to use if statements, how the else statement worked and how we can nest them using elif. I found this extremely important when working on homework as it showed us what each line meant and how he explained it as he went. I found that during week three he briefly mention it, but it was great to know what it was ahead of time (Early Exposure). I was taught those during class this week, but what I didn't know from class were try and except structures. These prove to be similar to If and Else statements. He described how they were similar, but how their "maps" looked differently. num = 12 if num > 0: print(num, "is a positive number.") print("This is always printed.") if num > 0: print("Positive number") elif num == 0: print("Zero") else: print("Negative number")

WEEK Six We learned more about the different functions in this week. We explained what a parameter is "A variable which we use IN the function DEFINITION. We learned about the Return function. This is where a value of the function is recalled. We havent't learned these in class and I hope we go over them as they're confusing. The professor explains it well, but not well enough for myself to fully understand. I need it to be a bit more descriptive. def function(shoes): for x in shoes: print(x) fruits = ["Sneakers", "Slides", "Boots"] function(fruits)

def function(x): return 10 * x print(function(5)) print(function(9)) print(function(25))

WEEK Seven This week was extremely hard for me. Loops are throwing me through a loop (PUN INTENDED). No matter how much we go over it, it is still confusing to me. I will have to go into W3Schools and read more into this or perhaps office hours. The Professor did teach us about the BREAK statement, this is where it ends the current loop and moves on to the next line effectively breaking the loop. We also learn about the Continue statements where it ends the current iteration and jumps to the top of the loop and starts the next iteration. We learned about simple definte loops where they have explicit iteration values that change each time through the loop. He gave us a "template" for loops: Set some variables to initial values for THING in DATA: Look for something or do something to each entry separately updating a variable. Look at the variables We learned that the counter variable has to start at 0 unless you want it to start else. To add the counter value to keep increaing we introduce a sum varibale that starts at 0. We learn that average combines the count and sum patterns but then divides them when the loop is done. for val in "Sentences": if val == "e": continue print(val) print("END")

for val in "Sentences": if val == "t": break print(val) print("END")

WEEK Eight I tried going back into coursea, but it said that I was done with the course. I'm not exactly sure where to go from here, but I am continuing to review the excercises I did on coursea as well as the POGIL exercises. I am not the best at python so, I did not pay to take the exam since I do not believe that I am sure I would be able to pass the loops. I am still very confused with loops.

WEEK Nine I am still having trouble with loops, but have a better understanding thanks to a youtuber by the name of Corey Schafer, He has kept interesting and has explained it in a way that it has helped me understand it. The downside of this, is when I am writing code, I am not able to quite fully debug it as i'm not sure where I went wrong. For example, I had trouble stopping an infinite loop, but I was able to google it and find the answer. So, I still need help debugging items. numbers = [121, 654, 1000, 7] for prime in numbers: print(prime) i = 0 while True: print(i) if i == 9: break else: i += 1

WEEK Ten I have continued to watch the youtuber and have develop my skills further more. I am now better than I was last week, but have so much more to learn. I have also started to pick up Javascript. It really is true what they say when "Once you learn one language, others are very similar are much faster than the first language." I believe that I will continue to learn Javascript, while occasionally refreshing my skills on Python. I found this cool website that is for homeschooled students, but you have to pay for and i'm not sure i will continue with it. So, I am moving on to Javascript. I will say that i do prefer Python over java. const myHeading = document.querySelector('h1'); myHeading.textContent = 'Hello world!';

var score = 75; // Score var msg; // Message if (score >= 50) { // If score is 50 or higher msg = 'Congratulations!'; msg += ' Proceed to the next round.'; } var el = document.getElementById('answer'); el.textContent = msg;

WEEK Eleven I am focusing more on my integration project. Turns out I am also having problems with the CALL function. I will have to go back to Corey Schafer to learn about the CALL Function. I know it deals with invoking a already stored thing such as MATH, but I don't know how it is previously stored. I have many questions, but I'll just have to do more research about it. I previously mentioned I was learning JAVASCRIPT and this function is slightly different, but is essentially the same thing. Which I find pretty cool. import math data = 21.6 print('The floor of 21.6 is:', math.floor(data))

WEEK Twelve I attended TechMatch and I spoke to many recruiters and the languages that were primarily mentions where Python, Javascript, and C++. This is fantastic news. I am pretty decent in Python and in the process of learning Javascript. I don't believe I will learn C++ as it wasn't specifically mentioned in the job field I want to do. I am dropping the concentration of Programming. I love programming, but I am not doing so well in Precalulus. I will continue to develop my skills at least in Python and Javascript. I forgot to mention, I was able to figure out the Call Funtion, unfortunately, I am not having trouble with the Import Function. I don't quite know why they are not importing correctly. I will have to continue trouble shooting. This will likely be my last entire and as such, I just wanted to say that this project has helped me so much. At the beginning, I came to this class with no knowledge of programming whatsoever and now, not only did I learn one language, I am in the process of learning another one. This reakky6 has been eye-opening. Thank you professor. I do want to try to do a seperate project. I have already recieved my Rasberry Pi, so I am excited to see what I code on that. Thank you.

WEEK Thirteen - Seventeen I am primarily focused on working on my integration project. I am having issues with debugging it. I'll have to see what I can do to fix it. UPDATE: I actually ended up scraping it and doing a whole new project. I want to turn a functional program in. So, I decided on a trivia game about my love for Marvel Comics. It's coming along very nicely. The only hard part of it is coming up with question and making sure everything is correct without technicalities as a few of my friends have pointed out to me. I let a few friends check it out and they gave me great input. I added more detailed directions as it may be a bit confusing. I also added Docstrings. I am having an issue with one. It wants docstrings, but when I added it, it tells me to remove it because it's an "empty docstring". UPDATE: I'm still having issues with the doctstrings, so i'm going to leave it as is. I may get a few points off, but I really don't get it. I will confess, I haven't focused on my integration project, but I am slowly adding more questions. class Question: """ """ def init(self, number, answer):