Python for Everybody (Audio/PY4E)

Python for Everybody (Audio/PY4E) Podcast

These are the audio lectures to supplement the textbook 'Python for Everybody: Exploring Information' and its associated web site www.py4e.com. There is also a video podcast of this material.

1.1 Why Program
Explore the nature of programming and how programming a computer is different than using a computer....

1.1 Why Program
Explore the nature of programming and how programming a computer is different than using a computer....

1.1 Why Program
Explore the nature of programming and how programming a computer is different than using a computer....


1.2 Hardware Architecture
In this lecture we learn abut how the computer processes and stores programs. We learn about the CPU, Memory, Storage and Input / Output devices are brought together to write a program....

1.2 Hardware Architecture
In this lecture we learn abut how the computer processes and stores programs. We learn about the CPU, Memory, Storage and Input / Output devices are brought together to write a program....

1.2 Hardware Architecture
In this lecture we learn abut how the computer processes and stores programs. We learn about the CPU, Memory, Storage and Input / Output devices are brought together to write a program....


1.3 Python as a Language
We look at how writing programs is just another form of communication. Instead of communicating with another person, we are communicating our ideas to a computer....

1.3 Python as a Language
We look at how writing programs is just another form of communication. Instead of communicating with another person, we are communicating our ideas to a computer....

1.3 Python as a Language
We look at how writing programs is just another form of communication. Instead of communicating with another person, we are communicating our ideas to a computer....


1.4 What do we Say to Python?
We look at the basics of the Python language and how we write code in Python to communicate sequential steps, conditional steps and repeated steps....

1.4 What do we Say to Python?
We look at the basics of the Python language and how we write code in Python to communicate sequential steps, conditional steps and repeated steps....

1.4 What do we Say to Python?
We look at the basics of the Python language and how we write code in Python to communicate sequential steps, conditional steps and repeated steps....


2.1 Building Blocks of Python
We look at Python's reserved words, how we name and use variables, why we choose meaningful (mnemonic) variable names and how assignment statements function....

2.1 Building Blocks of Python
We look at Python's reserved words, how we name and use variables, why we choose meaningful (mnemonic) variable names and how assignment statements function....

2.1 Building Blocks of Python
We look at Python's reserved words, how we name and use variables, why we choose meaningful (mnemonic) variable names and how assignment statements function....


2.2 Expressions
We look at how we use various numerical and string operations to compute new information and store the new values in variables....

2.2 Expressions
We look at how we use various numerical and string operations to compute new information and store the new values in variables....

2.2 Expressions
We look at how we use various numerical and string operations to compute new information and store the new values in variables....


3.1 If-Then-Else
The most basic conditional structure is the if statement where we either execute or skip a segment of code based on the results of a logical expression (i.e. asking a question)....

3.1 If-Then-Else
The most basic conditional structure is the if statement where we either execute or skip a segment of code based on the results of a logical expression (i.e. asking a question)....

3.1 If-Then-Else
The most basic conditional structure is the if statement where we either execute or skip a segment of code based on the results of a logical expression (i.e. asking a question)....


3.2 More Conditional Statements
In this lecture we look at multi-branch if statements and the try-except concept where we can indicate a group of statements to be executed if something goes wrong with a block of statements....

3.2 More Conditional Statements
In this lecture we look at multi-branch if statements and the try-except concept where we can indicate a group of statements to be executed if something goes wrong with a block of statements....

3.2 More Conditional Statements
In this lecture we look at multi-branch if statements and the try-except concept where we can indicate a group of statements to be executed if something goes wrong with a block of statements....


4.1 Using Pre-Defined Functions
We look at how code flows into and out of functions as well has how we pass information into functions and get results returned to us....

4.1 Using Pre-Defined Functions
We look at how code flows into and out of functions as well has how we pass information into functions and get results returned to us....

4.1 Using Pre-Defined Functions
We look at how code flows into and out of functions as well has how we pass information into functions and get results returned to us....


4.2 Building our Own Functions
We look at how to build our own functions using parameters and arguments as well as how we return results to the code that is calling our functions....

4.2 Building our Own Functions
We look at how to build our own functions using parameters and arguments as well as how we return results to the code that is calling our functions....

4.2 Building our Own Functions
We look at how to build our own functions using parameters and arguments as well as how we return results to the code that is calling our functions....


5.1 The Basics of Loops
We look at how we construct a loop so that it runs as long as we want it to run. We learn about iteration variables and exiting loops with the 'break' and 'continue' statements....

5.1 The Basics of Loops
We look at how we construct a loop so that it runs as long as we want it to run. We learn about iteration variables and exiting loops with the 'break' and 'continue' statements....

5.1 The Basics of Loops
We look at how we construct a loop so that it runs as long as we want it to run. We learn about iteration variables and exiting loops with the 'break' and 'continue' statements....


5.2 Definite Loops
We learn how to use the 'for' statement in Python to loop through a set of data....

5.2 Definite Loops
We learn how to use the 'for' statement in Python to loop through a set of data....

5.2 Definite Loops
We learn how to use the 'for' statement in Python to loop through a set of data....


5.3 Patterns for Making Loops
Loops have a beginning, middle, and end. We look ant how we construct a loop to look at a list of items one at a time so we can compute an overall maximum, minimum or average....

5.3 Patterns for Making Loops
Loops have a beginning, middle, and end. We look ant how we construct a loop to look at a list of items one at a time so we can compute an overall maximum, minimum or average....

5.3 Patterns for Making Loops
Loops have a beginning, middle, and end. We look ant how we construct a loop to look at a list of items one at a time so we can compute an overall maximum, minimum or average....


5.4 Loop Techniques
We continue to look at how to construct loops including how to do something special the first time through the loop. We introduce the idea of 'None' which is a way to indicate that a variable is currently empty....

5.4 Loop Techniques
We continue to look at how to construct loops including how to do something special the first time through the loop. We introduce the idea of 'None' which is a way to indicate that a variable is currently empty....

5.4 Loop Techniques
We continue to look at how to construct loops including how to do something special the first time through the loop. We introduce the idea of 'None' which is a way to indicate that a variable is currently empty....


6.1 Storing Text Data in Strings
We learn how to create string variables and extract portions of the data as well as write simple loops to read through the characters in a string....

6.1 Storing Text Data in Strings
We learn how to create string variables and extract portions of the data as well as write simple loops to read through the characters in a string....

6.1 Storing Text Data in Strings
We learn how to create string variables and extract portions of the data as well as write simple loops to read through the characters in a string....


6.2 String Operations
We learn how to extract substrings using slicing, and use the string library to perform common data extraction operations with strings....

6.2 String Operations
We learn how to extract substrings using slicing, and use the string library to perform common data extraction operations with strings....

6.2 String Operations
We learn how to extract substrings using slicing, and use the string library to perform common data extraction operations with strings....


7.1 Reading Files
We look at how text and lines are represented in files, how we open a file and write a loop to read through all the lines in the file....

7.1 Reading Files
We look at how text and lines are represented in files, how we open a file and write a loop to read through all the lines in the file....

7.1 Reading Files
We look at how text and lines are represented in files, how we open a file and write a loop to read through all the lines in the file....


7.2 Processing Data in Files
We look at patterns for reading and processing the data in files. We learn how to check for nonexistent files, and how we process each line within the file....

7.2 Processing Data in Files
We look at patterns for reading and processing the data in files. We learn how to check for nonexistent files, and how we process each line within the file....

7.2 Processing Data in Files
We look at patterns for reading and processing the data in files. We learn how to check for nonexistent files, and how we process each line within the file....


8.1 Creating and Using Lists
We learn how to put data into lists, take data out of the list and write simple loops to examine the elements of a list....

8.1 Creating and Using Lists
We learn how to put data into lists, take data out of the list and write simple loops to examine the elements of a list....

8.1 Creating and Using Lists
We learn how to put data into lists, take data out of the list and write simple loops to examine the elements of a list....


8.2 Manipulating Lists
We learn about list slicing, list searching, and using pre-defined functions with lists....

8.2 Manipulating Lists
We learn about list slicing, list searching, and using pre-defined functions with lists....

8.2 Manipulating Lists
We learn about list slicing, list searching, and using pre-defined functions with lists....


8.3 Strings and Lists
We learn how to parse strings pull sub-strings out of a string using the split() function....

8.3 Strings and Lists
We learn how to parse strings pull sub-strings out of a string using the split() function....

8.3 Strings and Lists
We learn how to parse strings pull sub-strings out of a string using the split() function....


9.1 Python Dictionaries
We compare and contrast how Python lists and dictionaries are structured internally. How we use position to index lists and use keys to index dictionaries....

9.1 Python Dictionaries
We compare and contrast how Python lists and dictionaries are structured internally. How we use position to index lists and use keys to index dictionaries....

9.1 Python Dictionaries
We compare and contrast how Python lists and dictionaries are structured internally. How we use position to index lists and use keys to index dictionaries....


9.2 Building Histograms
We look at how we can use dictionaries to count the frequencies of many things at the same time. We learn how the key and value are related in a dictionary and example the get method to retrieve values from a Python dictionary....

9.2 Building Histograms
We look at how we can use dictionaries to count the frequencies of many things at the same time. We learn how the key and value are related in a dictionary and example the get method to retrieve values from a Python dictionary....

9.2 Building Histograms
We look at how we can use dictionaries to count the frequencies of many things at the same time. We learn how the key and value are related in a dictionary and example the get method to retrieve values from a Python dictionary....


9.3 Counting Words in Text
In this segment we bring everything together, reading a file, parsing the lines, and computing the frequencies of the words in the file. This is an important moment that pulls from everything we have learned so far....

9.3 Counting Words in Text
In this segment we bring everything together, reading a file, parsing the lines, and computing the frequencies of the words in the file. This is an important moment that pulls from everything we have learned so far....

9.3 Counting Words in Text
In this segment we bring everything together, reading a file, parsing the lines, and computing the frequencies of the words in the file. This is an important moment that pulls from everything we have learned so far....


10.1 Understanding Tuples
We look at the basic syntax and capabilities of Python tuples. We explore the concept of immutability, and we compare tuples to lists and strings....

10.1 Understanding Tuples
We look at the basic syntax and capabilities of Python tuples. We explore the concept of immutability, and we compare tuples to lists and strings....

10.1 Understanding Tuples
We look at the basic syntax and capabilities of Python tuples. We explore the concept of immutability, and we compare tuples to lists and strings....


10.2 Sorting Data
We look at how we sort lists, dictionaries, and lists of tuples in Python....

10.2 Sorting Data
We look at how we sort lists, dictionaries, and lists of tuples in Python....

10.2 Sorting Data
We look at how we sort lists, dictionaries, and lists of tuples in Python....










12.5 Retrieving Web Pages
We write an even simpler Python program to retrieve a web page using the urllib library in Python....

12.5 Retrieving Web Pages
We write an even simpler Python program to retrieve a web page using the urllib library in Python....

12.5 Retrieving Web Pages
We write an even simpler Python program to retrieve a web page using the urllib library in Python....


12.6 Parsing Web Pages
Now we will look at the HypertextMarkup Language (HTML) that we retrieved using Python and extract links from that HTML. We are slowly building a very simple web search engine....

12.6 Parsing Web Pages
Now we will look at the HypertextMarkup Language (HTML) that we retrieved using Python and extract links from that HTML. We are slowly building a very simple web search engine....

12.6 Parsing Web Pages
Now we will look at the HypertextMarkup Language (HTML) that we retrieved using Python and extract links from that HTML. We are slowly building a very simple web search engine....


13.1 Data on the Web
We look at two different ways to format data for transmission across the network including JavaScript Object Notation (JSON) and eXtended Markup Language (XML)....

13.1 Data on the Web
We look at two different ways to format data for transmission across the network including JavaScript Object Notation (JSON) and eXtended Markup Language (XML)....

13.1 Data on the Web
We look at two different ways to format data for transmission across the network including JavaScript Object Notation (JSON) and eXtended Markup Language (XML)....



13.3 XML Schema
We look at how we can use XML Schema to determine whether or not a particular bit of XML is valid....

13.3 XML Schema
We look at how we can use XML Schema to determine whether or not a particular bit of XML is valid....

13.3 XML Schema
We look at how we can use XML Schema to determine whether or not a particular bit of XML is valid....





13.7 Securing API Requests
We explore the use of OAuth to communicate sign requests to establish identity when using the Twitter API....

13.7 Securing API Requests
We explore the use of OAuth to communicate sign requests to establish identity when using the Twitter API....

13.7 Securing API Requests
We explore the use of OAuth to communicate sign requests to establish identity when using the Twitter API....


14.1 Object Oriented Definitions and Terminology
We look at how Python mentions objects in its documentation as well as talk about why philosophy of object-oriented programming. We explore some OOP terms like class, object, instance, method, and attribute....

14.1 Object Oriented Definitions and Terminology
We look at how Python mentions objects in its documentation as well as talk about why philosophy of object-oriented programming. We explore some OOP terms like class, object, instance, method, and attribute....

14.1 Object Oriented Definitions and Terminology
We look at how Python mentions objects in its documentation as well as talk about why philosophy of object-oriented programming. We explore some OOP terms like class, object, instance, method, and attribute....


14.2 Our First Class and Object
We look at how use create a new class in Python and then construct a new object from that class. We also look at some of the Python objects (like strings) that we have been using all along....

14.2 Our First Class and Object
We look at how use create a new class in Python and then construct a new object from that class. We also look at some of the Python objects (like strings) that we have been using all along....

14.2 Our First Class and Object
We look at how use create a new class in Python and then construct a new object from that class. We also look at some of the Python objects (like strings) that we have been using all along....


14.3 Object Life Cycle
We look at how we as the developers of a Python class can interact with the moment of construction and destruction of various objects created using the class....

14.3 Object Life Cycle
We look at how we as the developers of a Python class can interact with the moment of construction and destruction of various objects created using the class....

14.3 Object Life Cycle
We look at how we as the developers of a Python class can interact with the moment of construction and destruction of various objects created using the class....


14.4 Object Inheritance
We look at how we can make a new class by inheriting all of the attributes and methods of a parent class and then extend the new class with additional attributes and methods....

14.4 Object Inheritance
We look at how we can make a new class by inheriting all of the attributes and methods of a parent class and then extend the new class with additional attributes and methods....

14.4 Object Inheritance
We look at how we can make a new class by inheriting all of the attributes and methods of a parent class and then extend the new class with additional attributes and methods....


15.1 Relational Databases
We look at the history of database systems, learn the terminology of database systems, and review some of the common database systems that are in use....

15.1 Relational Databases
We look at the history of database systems, learn the terminology of database systems, and review some of the common database systems that are in use....

15.1 Relational Databases
We look at the history of database systems, learn the terminology of database systems, and review some of the common database systems that are in use....


15.2 Single Table SQL
We learn about how we can use Structured Query Language (SQL) to insert (create), read, update, and delete data in a single database table....

15.2 Single Table SQL
We learn about how we can use Structured Query Language (SQL) to insert (create), read, update, and delete data in a single database table....

15.2 Single Table SQL
We learn about how we can use Structured Query Language (SQL) to insert (create), read, update, and delete data in a single database table....


15.3 Building a Relational Model
We look at how we can take the various data elements that will be modeled in an application and distribute them across several tables efficiently. We learn about the basic rules of database design....

15.3 Building a Relational Model
We look at how we can take the various data elements that will be modeled in an application and distribute them across several tables efficiently. We learn about the basic rules of database design....

15.3 Building a Relational Model
We look at how we can take the various data elements that will be modeled in an application and distribute them across several tables efficiently. We learn about the basic rules of database design....


15.4 Database Key Types
We look at primary keys, logical keys and foreign keys. We look at how foreign keys are represented in the database....

15.4 Database Key Types
We look at primary keys, logical keys and foreign keys. We look at how foreign keys are represented in the database....

15.4 Database Key Types
We look at primary keys, logical keys and foreign keys. We look at how foreign keys are represented in the database....



15.6 Multi-Table Retrieval using JOIN
We look at how to reconstruct complete views of the data when data is properly distributed across multiple tables and connected via foreign keys. We learn the JOIN operation and ON clause in SQL....

15.6 Multi-Table Retrieval using JOIN
We look at how to reconstruct complete views of the data when data is properly distributed across multiple tables and connected via foreign keys. We learn the JOIN operation and ON clause in SQL....

15.6 Multi-Table Retrieval using JOIN
We look at how to reconstruct complete views of the data when data is properly distributed across multiple tables and connected via foreign keys. We learn the JOIN operation and ON clause in SQL....


15.7 Many-to-Many Relationships
We look at how to build a connector table to represent many-to-many relationships such as students and courses in database tables. We also learn about composite primary keys....

15.7 Many-to-Many Relationships
We look at how to build a connector table to represent many-to-many relationships such as students and courses in database tables. We also learn about composite primary keys....

15.7 Many-to-Many Relationships
We look at how to build a connector table to represent many-to-many relationships such as students and courses in database tables. We also learn about composite primary keys....


16.1 Visualizing Map Data
In this assignment we make use of the Google GeoCoding API to look up addresses, store the data in a database and then use Google Maps to visualize the data....

16.1 Visualizing Map Data
In this assignment we make use of the Google GeoCoding API to look up addresses, store the data in a database and then use Google Maps to visualize the data....

16.1 Visualizing Map Data
In this assignment we make use of the Google GeoCoding API to look up addresses, store the data in a database and then use Google Maps to visualize the data....


16.2 Building a Web Search Engine
We build a web crawler that retrieves web pages and links from those pages an copies the pages into the database. Once we have retrieved our web data we run a simple Page Rank algorithm on the data and visualize the results....

16.2 Building a Web Search Engine
We build a web crawler that retrieves web pages and links from those pages an copies the pages into the database. Once we have retrieved our web data we run a simple Page Rank algorithm on the data and visualize the results....

16.2 Building a Web Search Engine
We build a web crawler that retrieves web pages and links from those pages an copies the pages into the database. Once we have retrieved our web data we run a simple Page Rank algorithm on the data and visualize the results....


16.3 Processing Mail Data
We end where we started, processing email data. Except that this time it is a lot (nearly 1GB) of email data....

16.3 Processing Mail Data
We end where we started, processing email data. Except that this time it is a lot (nearly 1GB) of email data....

16.3 Processing Mail Data
We end where we started, processing email data. Except that this time it is a lot (nearly 1GB) of email data....