Content
Lesson 01: Introduction
Overview
This lesson we learn:
- What is Python? What are the advantages / disadvantages of the language? How does it compare with other programming languages?
- The Jupyter Notebook environment. How to execute programs from the Jupyter environment.
- Python programming language basics. Print, Assignment and Input statements.
- Writing simple programs in Python following the Input / Process / Output model.
Required Reading / Viewing
More Resources, for Inspiration!
- How to think like a programmer - Lessons in problem solving
- Python for Everybody: Ch1 Part 1 | Part 2 | Part 3 | Part 4, by Charles Severance
- “TEDxSMU: You Should Learn to Program”, by Christian Genco
- “TEDxCERN: The poetry of programming”, by Linda Liukas
Large Group Video Lecture
Lab Walk Through
Homework Advice
Lesson 02: Variables
Overview
This lesson we learn:
- What is a variable? What is its purpose?
- Variable assignment, and access.
- Different data types for variables.
- How to input variables of various types, check types, convert types, and print variables with formatting.
- Arithmetic expressions, arithmetic operators, and operands.
- Different ways to format output.
Required Reading / Viewing
- Severance Ch 2: Variables, Expressions, Statements
- End to End Example: Variables and Types, by Michael Fudge
- Python for Everybody: Ch2 Part 1 | Part 2, by Charles Severance
Large Group Video Lecture
NO CLASS, Enjoy Last Semester’s Lecture
Lab Walk Through
Homework Advice
Lesson 03: Conditionals
Overview
In this lesson we learn:
- How to make our code execute in a non linear fashion through the use of conditionals.
- Relational and logical operators for making Boolean expressions which form the basis of our decisions.
- Different types of non-linear execution like conditional execution, alternative execution, chaining, and nesting, and their appropriate uses.
- How to handle run-time errors with try..except.
Required Reading / Viewing
- Severance Ch 3: Conditional Execution
- End to End Example: Conditionals, By Michael Fudge
- Python for Everybody: Ch3 Part 1 | Part 2, by Charles Severance
Large Group Video Lecture
Lab Walk Through
Homework Advice
Lesson 04: Iterations
Overview
In this lesson we learn:
- How to make our code execute in a non linear fashion through the use of iterations, or loops.
- The while loop for indefinite looping, infinite loops, and the break and continue statements
- How to build complex loops easily.
- Definite loops (for loops) and iterators.
Required Reading / Viewing
- Severance Ch 5: Iterations
- End to End Example: Iterations, by Michael Fudge
- Python for Everybody: Ch5 Part 1 | Part 2 | Part 3 | Part 4, by Charles Severance
Large Group Video Lecture
Lab Walk Through
Homework Advice
Lesson 05: Functions
Overview
In this lesson we learn:
- How to use and discover other functions in modules.
- How to inspect module contents and get help on functions.
- The anatomy of custom functions: arguments, named arguments, return values
- How to modularize our code with custom functions.
Required Reading / Viewing
- Severance Ch 4: Functions
- End to End Example: Functions, by Michael Fudge
- Python for Everybody: Ch4 Part 1 | Part 2, by Charles Severance
Large Group Video Lecture
Lab Walk Through
Homework Advice
Lesson 06: Strings
Overview
In this lesson we learn:
- Strings as an immutable sequence of characters.
- Index and Slice notation for retrieving sub-strings.
- Built-in string functions to perform operations on strings.
- Techniques for parsing and tokenizing string data.
- How to sanitize input with string functions.
Required Reading / Viewing
- Severance Ch 6: Strings
- End to End Example: Strings, by Michael Fudge
- Python for Everybody: Ch6 Part 1 | Part 2, by Charles Severance
Large Group Video Lecture
Lab Walk Through
Homework Advice
Lesson 07: Files
Overview
In this lesson we learn:
- The importance of a persistence layer in programming.
- How to read, write, and append to files.
- Techniques for reading a file a line at a time and all at once.
- Using exception handling with files.
- Text encodings.
Required Reading / Viewing
- Severance Ch 7: Persistence
- End to End Example: Files, by Michael Fudge
- Python for Everybody: Ch7 Part 1 | Part 2, by Charles Severance
Large Group Video Lecture
Lab Walk Through
Homework Advice
Lesson 08: Lists
In this lesson we learn:
- Lists as a mutable sequence of values.
- Indexing list values; slice notation.
- List functions and operations like add, remove, update, find
- Common patterns for list management.
- Parsing file data into lists.
Overview
Required Reading / Viewing
- Severance Ch 8: Lists
- End to End Example: Lists, by Michael Fudge
- Python for Everybody: Ch8 Part 1 | Part 2 | Part 3, by Charles Severance
Large Group Video Lecture
Lab Walk Through
Homework Advice
Lesson 09: Dictionaries
Overview
In this lesson we learn:
- Dictionaries as key-value pairs.
- Basic dictionary operations such as getting/setting keys and values
- Common dictionary use cases, such as representing complex objects.
- List of dictionary as an in-memory database of objects.
- Using the json library to serialize / de-serialize json data.
Required Reading / Viewing
- Severance Ch 9: Dictionaries
- End to End Example: Dictionaries, by Michael Fudge
- Python for Everybody: Ch9 Part 1 | Part 2 | Part 3, by Charles Severance
Large Group Video Lecture
Lab Walk Through
Homework Advice
Lesson 10: HTTP
Overview
In this lesson we learn:
- Learn how HTTP, the protocol of the web works.
- To execute HTTP requests using Python requests
- De-serialize HTTP responses in JSON format into Python objects
- General procedure for reading and calling API’s on the web.
Required Reading / Viewing
- Fudge: Web API’s In Python (Part 1 and 2)
- Severance Ch 12: Networked Programs
- End to End Example: Web API’s, by Michael Fudge
- Python for Everybody: Ch12 Part 3, by Charles Severance
Large Group Video Lecture
Lab Walk Through
Homework Advice
Lesson 11: Web API’s
Overview
In this lesson we learn:
- How to read and use documented Web API’s
- Learn how to structure API calls GET/POST, in header, url or query string.
- How to perform API Authentication Via Key and OAUTH2
- To read HTTP responses in body and headers
- General procedure for calling any web API.
Required Reading / Viewing
- Fudge: Web Api’s In Python (Part 3 and 4)
- Severance Ch 13: Web Services
- End to End Example: Web API’s, by Michael Fudge
- Python for Everybody: Ch13 Part 1 | Part 4, by Charles Severance
Large Group Video Lecture
Lab Walk Through
Homework Advice
Lesson 12: Pandas
Overview
In this lesson we learn:
- What exactly is Pandas, What is data analysis?
- How can Pandas help you perform data analysis?
- Managing Pandas data structures.
- Using Pandas to read and write a variety of file formats.
Required Reading / Viewing
- Fudge: Data Analysis with Pandas
- End to End Example: Data Analysis in Pandas, by Michael Fudge
- Python for Data Analysis, by Sentdex
- Official Pandas Tutorials (optional)
Large Group Video Lecture
This is from last semester. The current one did not record.
Lab Walk Through
Homework Advice
Lesson 13: Visualization
Overview
In this lesson we learn:
- Why information visualization is important
- The various ways to visualize information
- The basic requirements for any visualization
- How to plot complex visualizations such as multi-series charts and maps
Required Reading / Viewing
- Matplotlib: https://matplotlib.org/stable/tutorials/introductory/quick_start.html
- Folium: https://python-visualization.github.io/folium/quickstart.html
- Plotly Express: https://plotly.com/python/plotly-express/
- Seaborn: https://seaborn.pydata.org/tutorial/introduction.html
Large Group Video Lecture
Lab Walk Through
Homework Advice
More Resources
- End to End Example: Mapping Potholes
- Matplotlib Tutorial Series

























