Mastering Python Programming_Lesson 1

advertisement
Mastering Programming in Python
Lesson 1
www.teachingcomputing.com
COMING SOON
Series Overview
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Lesson 1: Introduction to the language, SEQUENCE variables, create a Chat bot
Lesson 2: Introduction SELECTION (if else statements)
Lesson 3: Introducing ITERATION (loops)
Lesson 4: Use of Functions/Modular Programming
Lesson 5: Introducing Lists /Operations/List comprehension
Information/Theory/Discuss
Lesson 6: Use of Dictionaries
Lesson 7: String Manipulation
Lesson 8: File Handling – Reading and writing to CSV Files
Task (Code provided)
Lesson 9: Importing and Exporting Files
Lesson 10: Transversing, Enumeration, Zip Merging
Lesson 11: Recursion
Challenge (DIY!)
Lesson 12: Project 1
Lesson 13 Project 2
Suggested Project/HW
Lesson 14: Project 3
Lesson 15: Consolidation of all your skills – useful resources
*Please note that each lesson is not bound to a specific time (so it can be taken at your own pace)
In this lesson you will …
 create your very own chat bot in
Python!
 learn about variables, sequence,
programs, Alan Turing and
Artificial Intelligence
 Challenge yourself to see if you
can extend your code!
*For this series we
assume students know
how to open, save and
run a python module.
Version: Python 3
Did you know?
Guido van Rossum, the creator of Python
Guido van Rossum, the guy on the right, created python!
He is a Dutch computer programmer and completed his
degree in the university of Amsterdam
He was employed by Google from 2005 until December
2012, where much of his time was spent developing the
Python language. In 2013, Van Rossum started working
for Dropbox.
Python is intended to be a highly readable language. It
has a relatively uncluttered visual layout, frequently using
English keywords where other languages use punctuation.
An important goal of the Python developers is making Python fun to use. This is
reflected in the origin of the name which comes from Monty Python
Getting started for the absolute beginner
Skip this if you have already installed python
https://www.python.org/downloads/
We have downloaded Python 3.4.3
You can read more about the
difference between Python 2 and 3
on the site.
Getting started for the absolute beginner
Skip this if you have already installed python
Visit the following site to
download python. The version
we use in these tutorials is:
Python 3.4.3
Once you’ve followed the
instructions and have python
on your computer, create a
short cut on your desktop (if
possible).
Open the IDLE SHELL and
create a new file (module)
see screenshot on the right.
You are ready to start programming in python,
Remember to save all files with the ending“.py”
What is a program anyway?
The very simplest definition is that: a program is just a sequence of
instructions.
Many algorithms (in our brain) are inbuilt
We eat, drink, speak, respond and appear to
have been pre-programmed to do so. There is
‘Free will’ too, but that’s a more philosophical
discussion.
DEFINITION: Algorithm = sequence of
instructions which performs a meaningful task
Each of your cells contains what we call the
DNA CODE.
Interesting facts about DNA Code
The DNA code in your cells is like a library of instructions. It is probably the
most complex code we have ever come across. Is a programmer behind it?
The letters of the genetic alphabet – A, T, G,
and C – are meaningless on their own, but
they are combined into useful instructions in
genes.
The anatomy of a typical program
Think about your very own brain: We don’t often realize it but our brains are
pretty awesome. The brain is storing values and processing data (as well as
producing outputs) all the time. Ever wondered how a lump of flesh (your
brain) stores data?!
You can think of any program or system as
being comprised of these three parts:
INPUT – PROCESSING - OUTPUT
Inputs need to be stored, and that’s what we
are looking at in this first lesson. In Computing,
we need VARIABLES to store inputs
Consider the following example:
By simply looking at the screen, your brain has now STORED these two values.
15
47
Number 1
Number 2
But how do we get a programming language to ‘remember’ values?
The key word you need to remember is VARIABLE (or identifier)
A useful analogy …
Variables are like storage boxes that can hold or store values in them.
47
Variable Name:
NumberToStore
Joe
FirstName
In programming, we need to DECLARE Variables, also called Identifiers
Numbertostore = 47
Firstname = “Joe”
Task 1: Creating a Chat Bot using variables
1. Open a Python
Module
2. Copy and paste
the code on the
right into the
module
3. Run the program
to see what it
does
4. See if you can add
additional
variables to make
#This is a chatbot and this is a comment, not executed by the program
#Extend it to make the computer ask for your favourite movie and respond
accordingly!
print('Hello this is your computer...what is your favourite number?')
#Declaring our first variable below called 'computerfavnumber' and storing
the value 33
computerfavnumber=33
#We now declare a variable but set the variable to hold whatever the
*user* inputs into the program
favnumber=input()
print(favnumber + '...is a very nice number indeed. So...what is your
name?')
name=input()
print('what a lovely name: ' + name + '...now, I will reveal what my
favourite number is:')
print (computerfavnumber)
Online chat bots you can check out!
http://www.mitsuku.com/
http://chatwithigod.com/
Try chatting with these bots. Can you tell you are not talking to a ‘real’ person.
How do you know? How could the program be improved?
Artificial Intelligence and the Turing Test
The Turing test is a test, developed by Alan Turing in
1950, of a machine's ability to exhibit intelligent behaviour
equivalent to, or indistinguishable from, that of a human.
If you were chatting with a
computer would you be able to tell
the difference between it and a
real human being?
How?
What makes us different?
Will computers ever truly think?
A picture of the young Alan Turing
Recent Developments in AI
You may find Wikipedia’s timeline of AI interesting reading (see link below)
Google’s artificial
intelligence (AI) software
has been developed to
the point that it is ready
to go head to head with
the world’s highest
ranked GO player.
https://en.wikipedia.org/wiki/Timeline_of_artificial_intelligence
This is seen as a pivotal moment for AI, similar to IBM’s DEEP BLUE beating Gary
Kasparov at chess!
Challenge: Extend the code and get
someone to try out your program!
Here are some
suggestions, but get
creative and implement
your own ideas!
1. Get the computer to ask the
user what his/her favourite
movie is and then respond
2. Declare a few other integer
variables and carry out an
addition!
3. Ask the user for their height
in feet and inches and
convert it into metres.
4. What else will you do!?
#This is a chatbot and this is a comment, not executed by the program
#Extend it to make the computer ask for your favourite movie and respond
accordingly!
print('Hello this is your computer...what is your favourite number?')
#Declaring our first variable below called 'computerfavnumber' and storing
the value 33
computerfavnumber=33
#We now declare a variable but set the variable to hold whatever the
*user* inputs into the program
favnumber=input()
print(favnumber + '...is a very nice number indeed. So...what is your
name?')
name=input()
print('what a lovely name: ' + name + '...now, I will reveal what my
favourite number is:')
print (computerfavnumber)
More on data types/variables in Python
Python has five standard data types (that can be
declared)
Python has four standard data
types (that can be declared)
 NUMBERS
 STRING
 LIST
 TUPLE
 DICTIONARY
 INT (signed integers)
 LONG (long integers also
represented in hex or octal)
 FLOAT (floating point real
numbers)
 COMPLEX (complex numbers)
In this lesson you can primarily focus on
declaring numbers and strings.
Counter = 100 ‘An integer assignment
Pounds = 124.5 ‘A floating point
Name = “Joe Bloggs” ‘ A string
Here are some examples of numbers
Int
10
long
51924361
float
0.0
complex
3.14
Useful Videos to watch on covered topics
Exploring Artificial Intelligence today
https://youtu.be/poLZqn2_dv4
Recommended video on Python Variables
https://youtu.be/667ZeuZ0Q8M
Suggested Project / HW / Research
 Create a research information point on Alan Turing.
 Basic facts about him
 Achievements
 Turing Test
 His involvement in code breaking at Bletchley park
 High level languages use variables as memory locations –but how does a
computer, at its very lowest level (Binary 1s and 0s) store information? Write a
short essay, based on your research, to explain how computers store
 Numbers
 Text
 Images
 Sound/Video
Useful links and additional reading
http://www.python-course.eu/variables.php
http://www.programiz.com/python-programming/variables-datatypes
http://www.tutorialspoint.com/python/python_variable_types.htm
https://en.wikibooks.org/wiki/Python_Programming/Variables_and_Strings
Download