Workshop
Basic Training:
Intro to Python
Skills for AI, Part I
v4
Before starting…
Connect to the Wi-Fi: Use the official hashtag:
2
1
Using your Web Browser,
Open this URL:
[Link]
[Link]
Click on the workshop you’re attending, and find:
● Setup Instructions ● A Workshop FAQ
● The Code Samples ● These Workshop Slides
● A demo project ● More Learning Resources
3
Local Hack Day
A learning-focused developer conference
150+ global eventos on the same day
4
Intro to Python I
Why does this matter?
1 Coding is the new literacy.
There are millions of careers where you
2 can earn a lot of money and make a
difference that use Python.
Once you learn one programing language, you
3
can learn any!
How many people here have coded before?
What languages have you used?
What have you built?
6
+ Intro to Python I
Introduction
This workshop is the first in a series of three workshops that will teach
some Python basics that you can use for many purposes, such as
artificial intelligence. Artificial intelligence might sound like something
from the future, but it's actually all around you:
Siri and Alexa use a type of AI called Natural Language Processing to
listen to spoken words and respond to them.
+ Intro to Python I
Introduction
This workshop is the first in a series of three workshops that will teach
some Python basics that you can use for many purposes, such as
artificial intelligence. Artificial intelligence might sound like something
from the future, but it's actually all around you:
Netflix uses artificial intelligence to predict what you'll like to watch.
That's where the "77% match" ratings come from.
+ Intro to Python I
Introduction
This workshop is the first in a series of three workshops that will teach
some Python basics that you can use for many purposes, such as
artificial intelligence. Artificial intelligence might sound like something
from the future, but it's actually all around you:
Capital One's new eno tool helps you determine if someone has stolen
your card number and to manage your finances using machine learning
and natural language processing.
+ Intro to Python I
Introduction
There are a lot of things you'll need to
learn to be able to write your own
artificial intelligence applications. In this
series, we're going to start with the
basics!
Today, you'll cover the basics of writing
code in Python. In later workshops,
you'll use a natural language processing
library to create a bot of your favorite
Twitter celebrity!
+ Intro to Python I
What are you going to build today?
Today you’re going to learn the fundamentals of Python by writing various
pythons scripts and running them in the console.
Key Terms
Console: A application that runs python files.
11
+ Intro to Python I
What you will be able to build
You will be able to build the below project in later workshop series that uses
artificial intelligence to scrape Tweets off Twitter.
[Link]
Key Terms
Web scraping: Collecting
data from a website
12
+ Intro to Python I
How does this work?
1. When a user enters the Twitter handle of another user, that
information is put into your script.
2. The script pulls some of the tweets from the Twitter user using a
process called "web scraping."
3. Once your script has this information, it runs some functions on it.
Functions are code you can use over and over again.
4. Then, a function removes the information we don't want and prints
the information we do.
Key Term
functions: A few lines of code, grouped together, that
your program can use as many times as it wants.
13
+ Intro to Python I
How are you going to do it?
These are the steps you'll need to take:
1. Sign up for Glitch.
2. Copy the Code.
3. Learn the basics of Python.
4. Write a few Python functions.
5. Scrape Twitter using Python.
6. Format your information.
7. Review and next steps!
14
Let's get started!
15
+ Intro to Python I
Table of Contents
1. What's Python?
2. Set Up Glitch
3. Write Code!
4. Review & Quiz
5. Next Steps
+ Intro to Python I
What is Python?
Python is an interpreted, high-level coding language.
1. Python was invented by Guido van Rossum in
1991.
2. Python can be used to make web pages,
apps, and scripts.
3. One of the most common uses for Python is
artificial intelligence and machine learning!
4. You're learning some Python basics today as
the building blocks to go on and learn more
about machine learning/AI later in your
academic career.
+ Intro to Python I
Python Basics
You'll learn the following basic Python tools today:
● Variables - variables in programming are a lot like variables in
math! They store information for us.
● Loops - loops are a structure your program can use to perform the
same task multiple times (rather than coding it out by hand every
time).
● Functions - a structure you can use in your program to reuse bits
of code throughout the program
● Running your program - you'll learn how to run your program by
entering commands into the Glitch console
Key Term
console: Part of the Glitch coding environment where you enter commands
and see output
The best way to learn to code is to CODE,
not to read about it, so let's set up Glitch!
19
+ Intro to Python I
Table of Contents
1. What's Python?
2. Set Up Glitch
3. Write Code!
4. Review & Quiz
5. Next Steps
Note: You're going to need to check your
email to verify sign-up. Please sign into
your email now!
21
+ Intro to Python I
Let's set up Glitch!
[Link]
1. Navigate to the URL above.
1. Click Sign in.
1. Click Sign in with Email.
1. Enter your email address and click
Send Link.
+ Intro to Python I
Let's set up Glitch!
6. Go to your email and look for the email below:
7. Click Sign in to Glitch.
Great! You're signed up. Now let's get the
code!
24
+ Intro to Python I
Get the code!
[Link]
1. Go to the URL above.
1. Click Remix your own, to make your own version
You now have your own version of the
project. This is the code you’ll need to
complete the workshop.
Let's dive in.
26
+ Intro to Python I
Table of Contents
1. What's Python?
2. Set Up Glitch
3. Write Code!
4. Review & Quiz
5. Next Steps
Programming 101: Variables
28
+ Intro to Python I
Write Code: [Link]
A variable stores some data - like numbers or text.
We can create variables, give them values, and modify those values
later.
Click on [Link] in Glitch, and type
in the following code:
+ Intro to Python I
Running the Script
Click Tools at the bottom of the page,
then Logs.
Click Console and type in
python [Link] .
Then hit enter!
+ Intro to Python I
Running the Script
The console will display anything inside the print() statements.
Each print statement is on a new line.
+ Intro to Python I
Write Code: Modifying Variables
Once we’ve created some variables, we can modify them - this
means changing their value. Try adding the code below to
[Link] and running it again:
11 a = 5
12 b = 10
13 c = a + b
14 print(“a plus b = {}”.format(c))
15
Experiment with different maths operators:
● Subtraction: -
● Division: /
● Multiplication: *
Let's talk about functions!
33
+ Intro to Python I
Functions
A function allows us to re-use a block of code over and over.
You’ve already used a few without realising! print() and format() are
Python functions.
Functions have a few features:
● Name: Functions have a name, and when we type the name, we
call (use) the function.
● Parameters: We can give the function a variable (or multiple!) to
use. When we use the print() function, everything inside the
brackets () is used by the function.
+ Intro to Python I
Write Code: [Link]
Open the file [Link] and let’s write some more code:
1 your_name = “Jamie”
2
3 # Lines 4-5 are a function called ‘say_hello’
4 def say_hello(name):
5 print(“Hey there, {}”.format(name))
6
7 say_hello(your_name)
8 say_hello(“Sam”)
Try running it by typing python [Link] into the console.
Let’s explain what’s happening...
+ Intro to Python I
Code Review: [Link]
1 your_name = “Jamie”
2
3 # Lines 4-5 are a function called ‘say_hello’
4 def say_hello(name):
5 print(“Hey there, {}”.format(name))
6
7 say_hello(your_name)
8 say_hello(“Sam”)
● Lines 4-5: This is our function. We use the def (define) keyword to
start a function. We give it a name (say_hello) and a parameter
(name).
● Notice that line 5 is indented under line 4. Anything that comes
later that is not indented is not part of the same function (line 6).
+ Intro to Python I
Code Review: [Link]
1 your_name = “Jamie”
2
3 # Lines 4-5 are a function called ‘say_hello’
4 def say_hello(name):
5 print(“Hey there, {}”.format(name))
6
7 say_hello(your_name)
8 say_hello(“Sam”)
● Lines 7-8: We call the function by typing its name and giving a value
to the name parameter. Whichever parameter we give the function
is used! This is called passing the variable into the function.
+ Intro to Python I
Challenge
You can pass multiple variables into a function!
To do this, separate parameters with a comma when you create the
function, like this:
1 def my_function(parameter_1, parameter_2):
2 # do things with parameter_1 and parameter_2
3
4
5
Write a function that takes 2 parameters, multiplies them together,
and prints the result.
+ Intro to Python I
Challenge
Write a function that takes 2 parameters, multiplies them together,
and prints the result.
1 def multiply_numbers(num_one, num_two):
2 # How do we multiply num_one and num_two
3 # together and print the result?
4
5
Here’s some code to get you started.
Don't peek! The solution is on the next
slide.
40
+ Intro to Python I
Challenge: Solution
1 def multiply_two_numbers(x, y):
2 print(x*y)
3
4 multiply_two_numbers(10,5)
5
+ Intro to Python I
Returning Values from Functions
So far, our function uses the parameters within the function.
What if we wanted to use the result somewhere else?
1 def multiply_two_numbers(x, y):
2 print(x*y)
3
4 multiply_two_numbers(10,5)
5
We can do this by Returning values from functions.
Let’s see what that looks like!
+ Intro to Python I
Write Code: [Link]
Open up [Link] and add the following:
1 def create_full_name(first_name, last_name):
2 full_name = first_name.upper() + “ “ +
3 last_name.upper()
4 return full_name
5
6 create_full_name(“Neil”, “Armstrong”)
The upper() function changes a string to all upper case (CAPITAL
LETTERS!).
Run the program. What happens?
+ Intro to Python I
[Link]
Nothing happened!
Maybe you expected that - we didn’t tell the function to print
anything.
How can we use the Return value of our function to make it useful?
+ Intro to Python I
Write Code: [Link]
Go back to the code and add a piece on Line 5-6:
1 def create_full_name(first_name, last_name):
2 full_name = first_name.upper() + “ “ + last_name.upper()
3 return full_name
4
5 result = create_full_name(“Neil”, “Armstrong”)
6 print(result)
Now, we have a variable called result, and we’ve set the value to be
the output of our create_full_name() function! Nifty!
Run the program again. What happens now?
Cool, now you know a little bit about
functions!
Let's talk about loops!
46
+ Intro to Python I
Code Review: [Link]
● Click on [Link].
1 print(“Day 1”)
● What do you think this code 2 print(“Day 2”)
does? 3 print(“Day 3”)
4 print(“Day 4”)
● To test it, enter 5 print(“Day 5”)
python [Link] 6 print(“Day 6”)
in your console! 7 print(“Day 7”)
8 print(“Day 8”)
9 print(“Day 9”)
10 print(“Day 10”)
+ Intro to Python I
What just happened?
In the previous file, we had to write 10 separate lines of code to get the
program to print Day 1, Day 2, etc. However, the only thing different on
each line was the number. Imagine if we had to print 100 days! This
would be awful. Is there a better way?
+ Intro to Python I
What just happened?
In the previous file, we had to write 10 separate lines of code to get the
program to print Day 1, Day 2, etc. However, the only thing different on
each line was the number. Imagine if we had to print 100 days! This
would be awful. Is there a better way?
LOOPS!
+ Intro to Python I
What just happened?
In the previous file, we had to write 10 separate lines of code to get the
program to print Day 1, Day 2, etc. However, the only thing different on
each line was the number. Imagine if we had to print 100 days! This
would be awful. Is there a better way?
LOOPS!
Sometimes in programming you want to do the same task over and
over again. A loop is an easy way to tell your program to do that.
Key Term
loop: a way to repeat the same task many times in a program, without writing
it out each time
+ Intro to Python I
Code Review: [Link]
1 for num in range (10):
2 print(“Day {}”.format(num))
3
● Delete all the code in [Link]
● Add this code to [Link] and run the file.
● Before you view the output in the console, what do you think it
will look like?
+ Intro to Python I
What happened?
Our script printed out the ‘Day’ line 10 times! Not bad for two lines
of code.
However… Notice anything wrong?
+ Intro to Python I
What went wrong?
1 for num in range (10):
2 print(“Day {}”.format(num))
3
● [Link] only printed up to Day 9. Why did this happen?
● When using a range loop in Python, it prints up to but not
including the number in parentheses. This is called an "off by
one error," because our program did what we wanted it to
except for 1 number.
+ Intro to Python I
Challenge
1 for num in range (10):
2 print(“Day {}”.format(num))
3
Get [Link] to print through Day 10.
+ Intro to Python I
Solution
1 for num in range (11):
2 print(“Day {}”.format(num))
3
Change (10) to (11).
Run your program again!
We’re making great progress!
Let’s move on to Lists.
56
+ Intro to Python I
Lists
Variables store a single value.
What if we wanted to have a list of related variables? Like a list of
names, or phone numbers?
This is where Lists come in handy. In other programming languages,
you might find them called Arrays.
+ Intro to Python I
[Link]
There’s a few ways we can create Lists in Python. Open up [Link]
and type in this code:
1 # Creates an empty list
2 names = []
3
4 # Creates a list with values
5 planets = [“Mercury”, “Venus”, “Earth”, “Mars”]
6
Try adding some code to print names and planets. What does the
output look like?
+ Intro to Python I
Adding Values to Lists
Once we’ve created a List, we can continue adding values to it by using
the append() function, like this:
4 # Creates a list with values
5 planets = [“Mercury”, “Venus”, “Earth”, “Mars”]
6 [Link](“Jupiter”)
7 [Link](“Saturn”)
8
9 print(planets)
10
+ Intro to Python I
Retrieving Values from Lists
If we print() our list, we get all of the contents. What if we only want
a single value from the list?
Thankfully for us, Python Lists maintain an index of their contents.
This means we can access a value by its index number.
4 # Creates a list with values
5 planets = [“Mercury”, “Venus”, “Earth”, “Mars”]
6 [Link](“Jupiter”)
7 [Link](“Saturn”)
8
9 print(planets[1])
10
What will be the console output of planets[1]? Guess before
you run the code!
+ Intro to Python I
Retrieving Values from Lists
You might have guessed Mercury - it’s the first value in the list, right?
But the console prints Venus! Why is that?
Lists start at index Zero! To a computer, 0 is a perfectly useable
number.
Try printing out planets[0] instead.
+ Intro to Python I
Looping through Lists
We covered Loops, and Lists, so how about… Looping over lists!
Add this loop to [Link].
11 for planet in planets:
12 print(planet)
13
14
Run [Link] and check the output.
This is called iterating over a list.
We’re flying through this!
Let’s talk about Importing.
63
+ Intro to Python I
Imports
As you’ve seen so far, Python has a lot of in-built functions, like
print(), upper(), and range().
Sometimes we want to extend the functionality of Python by using
functions that someone else has written for a specific purpose - these
are called Modules.
We can even import other Python files we’ve written ourselves, so we
can use their functions!
+ Intro to Python I
Imports
Take a look at the [Link] file.
By creating a Python file with some functions in it, we’ve
created a Module called Returns.
1 def create_full_name(first_name, last_name):
2 full_name = first_name.upper() + “ “ + last_name.upper()
3 return full_name
4
5 result = create_full_name(“Neil”, “Armstrong”)
6 print(result)
What if we wanted to use the create_full_name function in another
Python file? Let’s do that!
+ Intro to Python I
Importing Our Functions
Open up [Link] and add this:
1 import returns
2
3 print(returns.create_full_name(“Chris”, “Hadfield”))
We use the import keyword to import modules we want to use.
Here, we’ve imported our other Python script, [Link]!
Now we can use the function we wrote inside [Link].
All we have to do is tell Python where the function is coming from, by
typing returns.create_full_name instead of just the function name.
+ Intro to Python I
Importing External Modules
A useful module to have is the Random module. It helps us to
generate random numbers.
1 import random
2
3 print([Link](0,100))
The Random module has a function called randint() (Random
Integer).
We can give it two parameters: a start point and an end point.
This will generate a random whole number between these two values.
What a whirlwind!
We’ve learned a lot today.
How about we put this all together?
68
+ Intro to Python I
Challenge
So far, we’ve learned about Variables, Loops, Lists, Functions,
Importing, and more!
Let’s write a script that combines these ideas!
Open up [Link] and give it a try!
Challenge Time!
Find yourself a partner - someone in the
room that you don’t know!
70
+ Intro to Python I
Challenge Solution
It’s important to remember that coding problems have lots of
different solutions! If yours doesn’t look like this, don’t worry.
+ Intro to Python I
Table of Contents
1. What's Python?
2. Set Up Glitch
3. Write Code!
4. Review & Quiz
5. Next Steps
+ Intro to Python I
Let's Recap
Where to go from here...
Python is a programming language you can use
1
for data analysis and artificial intelligence
Python tools you can use include functions,
2 lists and loops.
We can extend Python functionality even
3
further by importing modules.
What did you learn today?
We created a fun quiz to test your knowledge and see
what you learned from this workshop.
[Link]
74