top of page

Python Class Curriculum and Resources

Updated: Dec 30, 2021

As software becomes a more and more integral part of daily life, being able to not only use these tools, but also to create using them is essential. This article will include the curriculum for my python class and some other resources you can use to hone your skills and knowledge. I teach a python class every Monday - Thursday at 9:00 AM EST. If you are interested in joining you can sign up by submitting an application at https://www.wequil.school/


Curriculum

Printing

The print function in Python is used to output something.


print(“name”)

Output -> name



What Integers, Variables, Lists, Strings are


Integers -> Numbers

Strings -> Words with “”

Variables -> A place where you can store data

List -> A type of data that allows you to store multiple things


For example:


Integer: 2

String: “Hello”

Variable: name = “Sally”

List: list1 = [1, 3, 5, 2, 4]


How would you print Integers, Variables, Lists, and Strings?


Integers: print(______[write in integer, no “”])

Variables: print(_______[write in variable, no “”])

Strings: print(“______”[You can write in anything you want as long as it’s in quotes])

Lists: print(_______[Write the variable to store in the list]])


Examples:


Printing Integers:


print(2)


Printing Varibles:


name = "Sally"


print(name)


Printing Strings:


print("Hello")


Printing Lists:


List1 = ["hi", "this", "is", "a", "list"]


print(List1)


Input()


What is input?


→ Input is when the user gets to choose



For example:


print(“Which color do you like best? Pink or blue.”)


Color = input()


print(“What is your name?”)


Name = input()


print(“Hello, my name is ” + Name + “. And I like the color ” + Color + “!”)


Output:

→ Hello my name is Sumay. And I like the color blue!


As you can see input() is really cool! Let’s see if we can expand on it!


Indexes


Food = [“Apple”, “Banana”, “Peach”, “Watermelon”, “Kiwi”]

^ ^ ^ ^ ^

0 & -5 1 & -4 2 & -3 3 & -2 4 & -1


Indexes: They point to a specific element in a list


Indexes in Python always start with 0


Positives:

print(Food[0]) —> Apple


print(Food[1]) —> Banana


print(Food[2]) —> Peach


print(Food[3]) —> Watermelon


print(Food[4]) —> Kiwi



Negatives:


print(Food[-5]) —> Apple


print(Food[-4]) —> Banana


print(Food[-3]) —> Peach


print(Food[-2]) —> Watermelon


print(Food[-1]) —> Kiwi




Printing with +

Sometimes you want to print multiple things in one print statement. This is made possible by using a + sign in your print statements!


Word = "Carrots"


print("My favorite food is " + Word + ".")

Output → My favorite food is Carrots.


--


Numbers = [1,2,3]

Numbers2 = [4,5,6]


print(Numbers + Numbers2)

Output->[1,2,3,4,5,6]


all_numbers = (Numbers + Numbers2)


print(“These are some of the numbers I know! ” + all_numbers)

Output->These are some of the numbers I know! [1,2,3,4,5,6]


len()



len() it counts how many items are in a list.


Number = [1,2,3,4,5,6,”Hello”]


print(len(Number))

Output —> 7


Food = [“Pizza”, “Cookie”, “Orange”]


print(len(Food))

Output -> 3




Append


Monkey = [“M”, ”o”, ”n”, ”k”, ”e”]

Monkey.append(“y”)

That adds to the list so it has the word “monkey”.


print(Monkey)

Output —> ['M', 'o', 'n', 'k', 'e', 'y']





Del()


Del() is used to delete things from a list.


Syntax:

del(list name[index])


x = [1,2,3,4,6,”hello”]


print(x)

Output —> [1,2,3,4,6,’hello’]


I wanna delete 6


del(x[4])


print(x)

Output —> [1,2,3,4,’hello’]


len(x)

Output—> 5



If and Else Statements


Box = “toy”


If Box == “toy”:

Box = empty

Else:

Box = toy



Why is the difference between = and ==?

= means assign == means compare.




Elif


Elif is for when there is another if


For example:


apple = input()


If apple == “red”:

print(“Your apple is red!”)


Elif apple == “green”:

print(“Your apple is green!”)


Else:

print(“Your apple is yellow!”)




Casting

Casting is converting integers into string and vice-versa



For example:

How would you change 3 into a string.


str(3)-> “3”


Syntax:

str(*integer*)


Or a string into an integer.


int(“3”)-> 3


Syntax:

int(*string*)




Functions


What are functions?


Functions are quick ways of running big amounts of code.



Syntax:

def *Function name*():

*What you want the function to do*


*Function name*()


Instead of:


print(“Hi”)

print(“My”)

print(“Name”)

print(“Is”)

print(“Bob”)


Output—> Hi

My

Name

Is

Bob


We can make a function:


def Printing():

print(“Hi”)

print(“My”)

print(“Name”)

print(“Is”)

print(“Bob”)

return Printing


Printing()


Output—> Hi

My

Name

Is

Bob

The thing about a function is that you can do it multiple times!

Printing()

Printing()


Output—> Hi

My

Name

Is

Bob

Hi

My

Name

Is

Bob


You can also have customizable functions where you have to input values in the () in your function.


def persontemplate(firstname, lastname, age):

print("First Name: " + firstname)

print("Last Name: " + lastname)

print("Age: " + age)


persontemplate("Jeff", "PersonDude", "155")

persontemplate("Sally", "Hello", "68")


By adding (firstname, lastname, age) in the function you make it so that when you call the function, you have to add those values.




How to make things uppercase


String1 = “Hello”


print(String1.upper())

Output → HELLO


print(String1.lower())

Output → hello


13. How to make things lowercase


String1 = “HELLO”


print(String1.lower())

Output → hello


For loops


A For loop loops through a list.


x = [1,2,3,4,5]


If you want to change something in a list you can do this:


x[0] = 2


print(x)

Output—> [2,2,3,4,5]


What if you want to change x into:


[3, 3, 4, 5, 6]


That would take a long time.

So we can make a For loop.


This for loop would add 1 to every element of the list.


Syntax:


For *variable to hold the current element of the list* in *list*():

___________

___________


Then it does whatever you put for the for loop to do and does it to every element in the list.


For i in x():

i = i + 1


How to keep track of points


How would you keep track of points in python?

→ Unfortunately there is no built in function that keeps track of points. So we have to build it ourselves.


Let’s get started!


# First we make a variable called points.


Points = 0


# We start with 0 because we start out with no points

# Now, we need to have something to put points for.


# So, we are going to make a quiz!


# Let me show you an example so you understand.


print(“What is my favorite color?”)


# My favorite color is black.


Answer1 = input()


If answer1 == “black”:

Points + 1

print(“Correct!”)


Else:

print(“Wrong answer.”)


Run:


What is my favorite color?


My answer: black


Correct!


# Now you make an example!


# After it works, then we can make our quiz longer!








# There are three important things that will be used a lot in python

# Lets start with learning what they are and how to use them

# These three things are integers, variables, and strings


# What are Integers?


"""


Integers are numbers.


For example: 1 or 5


How do print Integers?


Well, lets first start out by saying what printing means

When you print something, you are just showing people data or information

This information can also include integers, or as we just learned, numbers


How you print something is pretty simple...


print()


That's how you do it

The data that you want to show will go inside these things --> ()


When printing an integer you don't have to anything except put the integer inside --> ()

So, if I wanted to print the integer 3, I would do this


print(3)


Can you print three different integers for me?


"""

# Print your integers here







"""

Next, what is a variable?

A variable is a place where you store information

After you store the information in a variable you can also print the information inside the variable


An example of a variable is this:


number = 4


number is basically the name of the variable

Inside of number, we put in information

This information is an integer


To print the integer inside the variable we do this


print(number)


We do kind of the same thing, but instead of putting in an integer, we put in a variable

Since the variable has an integer inside it, python will print the integer


If we accidentally put in the wrong name for the variable when we are trying to print it python will give us an

error

And error is when something goes wrong in the code that we write and python can't do what we want it to do


So if I did this by accident


print(nombar)


Python will give me an error and will say it was not able to print the integer


Can you make three variables for me?

"""

# Make the variables here







"""

Now can you print the variables?

"""

# Print the variables here





While Loops

*In progress*


Turtle

Turtle is a really cool package you can import into your python project to make graphics and drawings with your code. The first thing you need to do is at the top of your code write import turtle .


Before making the turtle do or draw anything, your have to write turtle. This might not seem like much but if you are going to write a lot of code you may want to make it shorter. You can do this by writing

ttl = turtle.Turtle() you can make the ttl anything you want. For example: bob = turtle.Turtle()


Making the turtle move and draw

To make the turtle draw the first thing you have to do is ttl.pendown(). Then when you make the turtle move it will drag a line behind it.




The way you can make the turtle move is with four functions:


ttl.forward(100) # the (100) makes the turtle go forward 100 pixels

ttl.left(90) # the (90) makes the turtle turn 90 degrees to the left

ttl.backward(100) # the (100) makes the turtle go backward 100 pixels

ttl.right(90) # the (90) makes the turtle turn 90 degrees to the right


You can also make a circle by writing:


ttl.circle(50) # the (50) affects how pixels long the circle's radius is



Functions:


.pencolor - You are able to change the pen color that your turtle draws with by saying:


turtle.pencolor("blue")


Keep in mind that you need to make sure that the package turtle has the color you are using. Here is a chart with all the colors you can use:





.width - This allows you to change the with that you draw in by writing:


turtle.width("8")



.shape - This function allows you to change the shape of the turtle that is drawing the lines:


turtle.shape("turtle")

turtle.shape("arrow")

turtle.shape("circle")

turtle.shape("triangle")

turtle.shape("classic")











Cryptography

Cryptography is a way to encode and decode messages with python. This is useful for when you are sending sensitive information in a way that is safe from hackers. Here are some ways you can encode messages you are sending:


Reversing the message:


message = input()


def encode(message):

return ''.join(reversed(message))


If you inputted message as hi, then the output would be “ih”


The way this works is the “”.join bit makes it so that in between each character there is a “”, so nothing is put there, and the the (reversed(message)) part reverses the message. You can also put something in the “” to make it so that there is something placed between each character!


message = input()


def encode(message):

return '/'.join(reversed(message))


This would make it so that if message = “hello” the output would be: o/l/l/e/h


Which is a lot less readable.



Changing Position In Alphabet


The next way you can crypt a string is by changing the position in the alphabet. For example you could make it so that if you put in a letter, it will move 2 letters in the alphabet. So if you put in “a” the output would be “c”. Here’s the code for you to do it!



message = input("message: ").lower() # This allows you to put in the message

# The reason why I added .lower() is because when a letter is uppercase the encryption

# doesn't work


alphabet = "abcdefghijklmnopqrstuvwxyz" # This is so we can find the letter's position in

# the alphabet and then change it


encrypt = "" # This is an empty variable that we can use to store the encrypted message



for i in message: # This is a for loop that loops through every letter in the message

position = alphabet.find(i) # This finds the letters position in the alphabet and

# then stores in the variable position


newposition = (position+5) %26 # This variable changes the letter so it is five

# letters forward in the alphabet and then stores the new letter in newposition

# the %26 makes it so that if the message is "z" then to encrypt it, it will start

# over and start with a again


encrypt += alphabet[newposition] # Then it takes the new letter and then stores it

# in the encrypt variable. The for loop will make it so that every letter will be

# stored


print(encrypt) # This prints the encrypted message



question = input("Would you like to decrypt? (Yes/No)")

if question == "Yes": # If statement that checks to see whether you inputted Yes

decrypt = "" # Variable that will store the decrypted message

# This is just another for loop that will do the same thing as the other one except

# it will decrypt the message instead by doing "- 5" instead of "+ 5"

for i in encrypt:

position = alphabet.find(i)

newposition = position - 5

decrypt += alphabet[newposition]


print(decrypt) # Prints decrypted message

else: # Else statement if you didn't type Yes

print("Okay!")




MatPlotLib.Pyplot

Matplotlib is an extension to python that allows you to create charts and map data! The first thing you have to do is download the extension by running in your terminal (not the Python Shell):


python3 -m pip install matplotlib


Then you should import it at the top of your code like this:


import matplotlib.pyplot as plt


By saying “as plt” this makes it so that you can now use the package by calling plt instead of having to write out matplotlib.pyplot. Then you can use plt.plot([]) to insert what the graph should chart by using a list of numbers. You can also use the functions plt.ylabel(’’) and plt.xlabel(’’) to label the axis and what they represent.


After you have created what should be graphed and displayed, end your code with plt.show()


Example:


import matplotlib.pyplot as plt


plt.plot([1, 2, 3, 4])

plt.ylabel('Y Axis')

plt.xlabel('X Axis')


plt.show()




To plot multiple lines, just call plt.plot() again:


import matplotlib.pyplot as plt


plt.plot([1, 2, 3, 4])

plt.plot([2, 4, 1, 3])

plt.ylabel('Y Axis')

plt.xlabel('X Axis')


plt.show()





You can change the color of the lines by adding color = ‘’ in the plt.plot function:

plt.plot([1, 2, 3, 4], color="green")



To add a title to your graph, you can call the function:

plt.title('Graph')



You can add a key to your graph by labeling the lines and then displaying what they mean in a legend like this:

import matplotlib.pyplot as plt


plt.title('Graph')


plt.plot([1, 2, 3, 4], label = 'Line 1') # The label informs people what the line

# represents

plt.plot([2, 4, 1, 3], label = 'Line 2')

plt.ylabel('Y Axis')

plt.xlabel('X Axis')


# The legend displays what the lines are

plt.legend(loc="lower left")


plt.show()



Time

There is an extension package called time that allows you to wait for a certain amount of seconds before continuing on to the next function. To start using it write import time at the top of your code.


Then, to make it wait:


time.sleep(5) # The five represents how many seconds to wait


You can also put in a decimal if you would like to have your code wait less than a second. This package can be useful when you are trying to pint many things but want to give people a chance to read it all.


Pygame

Pygame is a python extension that allows you to create games in python! The first thing you need to do is install the extension by writing python3 -m pip install pygame in your computers terminal (not your python shell!)


Then, after it has successfully downloaded write import pygame at the top of your code.


Afterwards write pygame.init() which initializes all your imported modules.


Creating a Landscape


The next thing you should do is create a landscape in which you can code your game. You can do this by writing this code:


display_width = 800 # This is a variable that holds the width of our game landscape

display_hieght = 600 # This is a variable that holds the hieght of our game landscape


pygame.display.set_mode((display_width, display_hieght)) # This creates a space for us

# to make our game and sets the width and hieght to the variable we created earlier


This code would output this:




Setting the Caption

The caption would replace the text “pygame window” with whatever you want to name your game. To set the caption, add this to your code:


pygame.display.set_caption("INSERT GAME NAME")


--


Resources

Getting Started With Python



Lists and If Else Statements with Python




Other Resources:

  1. Automate the Boring Stuff with Python




bottom of page