π Courses and Tutorials
- Week 1: Getting started with Python
- Video: Introduction to the Course
- Video: How is Python used in the real world?
- Discussion Prompt: What do you hope to learn?
- Reading: Course syllabus
- Reading: How to be successful in this course
- Video: Introduction to Programming
- Video: Why Python?
- Reading: Visual Studio Code
- Reading: Installing Python paths (Optional for Windows Users)
- Reading: Installing Python paths (Optional for Mac users)
- Reading: Required dependencies
- Video: Environment check for Windows
- Video: Environment check for Mac
- Video: Running code - Command line VS IDE
- Video: Python syntax, spaces matter
- Reading: Python syntax cheat sheet
- Reading: Commenting code
- Video: Variables
- Video: Basic data types
- Video: Strings
- Reading: Basic Data type and Function Cheatsheet
- Video: Type casting
- Video: User input, console output
- Reading: Type casting, a deeper look
- Practice Quiz: Knowledge check - Welcome to Python Programming
- Reading: Additional resources
- Video: Math and logical operators
- Video: Control flow: If / else, else if
- Reading: Conditional statements
- Video: Switch statement
- Video: Looping constructs
- Reading: Looping Constructs: Practical Examples
- Reading: Practicing control flow and loops
- Video: Nested loops and the effect on algorithmic complexity
- Reading: Exercise: Use control flow and loops to solve a problem
- Reading: Use control flow and loops to solve a problem - solution
- Practice Quiz: Self-review: Use control flow and loops to solve a problem
- Video: Module summary: Getting started with Python
- Reading: Additional resources
- Week 2: Basic Programming with Python
- Video: Functions
- Video: Variable scope
- Reading: Function and variable scope
- Reading: What are data structures?
- Video: Lists
- Video: Tuples
- Video: Sets
- Video: Dictionaries
- Video: kwargs
- Practice Quiz: Functions, loops and data structures
- Reading: Choosing and using data structures
- Reading: Visual Studio Code on Coursera
- Practice Quiz: Knowledge check: Functions and Data structures
- Reading: Additional resources
- Video: What are exceptions
- Video: Exception handling
- Reading: Exercise: Exceptions in Python
- Reading: Exceptions in Python - solution
- Practice Quiz: Exceptions in Python
- Video: File handling in Python
- Video: Creating Files
- Video: Reading Files
- Reading: Storing file contents in data structures
- Practice Quiz: Read in data, store, manipulate and output new data to a file
- Video: Module summary: Basic Programming with Python
- Reading: Additional resources
- Week 3: Programming paradigms
- Video: What is procedural programming?
- Video: Algorithms
- Reading: Writing Algorithms
- Reading: Exercise: Make a cup of coffee
- Reading: Make a cup of coffee - solution
- Practice Quiz: Self-review: Make a cup of coffee
- Video: Algorithmic complexity
- Reading: Intro to Big-O notation
- Practice Quiz: Knowledge check: Procedural Programming
- Reading: Additional resources
- Video: What is functional programming?
- Video: Pure functions
- Video: Recursion
- Reading: Recursion example: Tower of Hanoi
- Video: Reversing a string on Python
- Video: Map & filter
- Reading: Comprehensions
- Practice Quiz: Mapping key values to dictionary data structures
- Practice Quiz: Knowledge check: Functional Programming
- Reading: Additional resources
- Video: Introduction to Object Oriented Programming
- Reading: OOP Principles
- Video: Python classes and instances
- Reading: Exercise: Define a Class
- Reading: Define a Class - solution
- Practice Quiz: Self-review: Define a Class
- Video: Instantiate a custom Object
- Reading: Exercise: Instantiate a custom Object
- Reading: Instantiate a custom Object - solution
- Practice Quiz: Self-review: Instantiate a custom Object
- Video: Instance methods
- Video: Parent classes vs. child classes
- Reading: Inheritance and Multiple Inheritance
- Reading: Exercise: Classes and object exploration
- Video: Abstract classes and methods
- Practice Quiz: Abstract classes and methods
- Video: Method Resolution Order
- Reading: Working with Methods: Examples
- Reading: Exercise: Working with Methods
- Reading: Working with Methods - solution
- Practice Quiz: Self-review: Working with Methods
- Video: Module summary: Programming paradigms
- Reading: Additional resources
- Week 4: Modules, packages, libraries and tools
- Video: What is a module in Python?
- Video: Accessing modules
- Video: The import statement
- Video: Writing import statements
- Video: Namespacing and scoping
- Video: reload() function
- Reading: Module Use-cases
- Practice Quiz: Knowledge check: Modules
- Reading: Additional resources
- Video: Popular packages: NumPy, pandas, Matplotlib, etc
- Reading: Popular Packages: Examples
- Video: Data analysis packages
- Video: Machine learning, deep learning and AI: PyTorch, TensorFlow
- Reading: Big Data and Analysis with Python
- Discussion Prompt: What do you consider to be the difference between machine learning and AI?
- Video: Python web frameworks
- Practice Quiz: Knowledge check: Popular Packages, Libraries and Frameworks
- Reading: Additional Resources
- Video: What is testing?
- Video: Types of testing
- Practice Quiz: Testing quiz
- Video: Test automation packages
- Video: Writing tests with PyTest
- Reading: PyTest cheat sheet
- Video: Test-driven development (TDD)
- Video: Applying TDD
- Video: Module summary: Modules, packages, libraries and tools
- Reading: Additional resources
- Week 5: End-of-Course Graded Assessment
- Video: Course Recap: Programming in Python
- Reading: About the End-of-Course Graded Assessment
- Discussion Prompt: Discuss challenges that you had with your fellow learners
- Video: Congratulations, you have completed Programming in Python
- Discussion Prompt: What did you find most challenging about learning to program in Python?
- Reading: Next steps after Programming in Python
- Week 1: Hello Python!
- Video: Specialization Introduction
- Video: Course Introduction
- Ungraded Plugin: Take a Minute to Set Yourself up for Success
- Reading: Welcome to the Course!
- Reading: Program Surveys
- Ungraded Plugin: Automation with Python Participant Entry Survey
- Discussion Prompt: Meet & Greet
- Video: The Beginning of Your Programming Journey
- Video: What is programming?
- Video: What is automation?
- Video: Getting Computers to Work for You
- Discussion Prompt: Your Hopes for Automation
- Practice Quiz: Practice Quiz: Introduction to Programming
- Video: What is Python?
- Reading: Python Resources
- Reading: A Note on Syntax and Code Blocks
- Video: Why is Python relevant to IT?
- Video: Other Languages
- Practice Quiz: Practice Quiz: Introduction to Python
- Video: Hello, World!
- Video: Getting Information from the User
- Video: Python Can Be Your Calculator
- Reading: First Programming Concepts Cheat Sheet
- Practice Quiz: Practice Quiz: Hello World
- Video: First Steps Wrap Up
- Video: Meet Marga, the Curriculum Developer
- Discussion Prompt: Your First Programming Code
- Week 2: Basic Python Syntax
- Video: Basic Python Syntax introduction
- Video: Data Types
- Reading: Data Types Recap
- Video: Variables
- Video: Expressions, Numbers, and Type Conversions
- Reading: Implicit vs Explicit Conversion
- Practice Quiz: Practice Quiz: Expressions and Variables
- Video: Defining Functions
- Reading: Defining Functions Recap
- Video: Returning Values
- Reading: Returning Values Using Functions
- Video: The Principles of Code Reuse
- Video: Code Style
- Practice Quiz: Practice Quiz: Functions
- Video: Comparing Things
- Reading: Comparison Operators
- Video: Branching with if Statements
- Reading: if Statements Recap
- Video: else Statements
- Reading: else Statements and the Modulo Operator
- Video: elif Statements
- Reading: More Complex Branching with elif Statements
- Reading: Conditionals Cheat Sheet
- Practice Quiz: Practice Quiz: Conditionals
- Video: Basic Syntax Wrap Up
- Video: In Marga's Words: Why I Like Python
- Discussion Prompt: Basic Python Syntax Review
- Week 3: Loops
- Video: Introduction to Loops
- Video: What is a while loop?
- Reading: Anatomy of a While Loop
- Video: More while Loop Examples
- Video: Why Initializing Variables Matters
- Reading: Common Pitfalls With Variable Initialization
- Video: Infinite Loops and How to Break Them
- Reading: Infinite loops and Code Blocks
- Practice Quiz: Practice Quiz: While Loops
- Video: What is a for loop?
- Reading: For Loops Recap
- Video: More for Loop Examples
- Reading: A Closer Look at the Range() Function
- Video: Nested for Loops
- Video: Common Errors in for Loops
- Reading: Loops Cheat Sheet
- Practice Quiz: Practice Quiz: For Loops
- Video: What is recursion? (Optional)
- Video: Recursion in Action in the IT Context
- Reading: Additional Recursion Sources
- Practice Quiz: Practice Quiz: Recursion
- Video: Loops Wrap Up
- Video: In Marga's Words: How I Got Into Programming
- Discussion Prompt: Solving Problems with Loops
- Week 4: Strings, Lists and Dictionaries
- Video: Basic Structures Introduction
- Video: What is a string?
- Video: The Parts of a String
- Reading: String Indexing and Slicing
- Video: Creating New Strings
- Reading: Basic String Methods
- Video: More String Methods
- Reading: Advanced String Methods
- Video: Formatting Strings
- Reading: String Formatting
- Reading: String Reference Cheat Sheet
- Reading: Formatting Strings Cheat Sheet
- Practice Quiz: Practice Quiz: Strings
- Video: What is a list?
- Reading: Lists Defined
- Video: Modifying the Contents of a List
- Reading: Modifying Lists
- Video: Lists and Tuples
- Reading: Tuples
- Video: Iterating over Lists and Tuples
- Reading: Iterating Over Lists Using Enumerate
- Video: List Comprehensions
- Reading: List Comprehensions
- Reading: Lists and Tuples Operations Cheat Sheet
- Practice Quiz: Practice Quiz: Lists
- Video: What is a dictionary?
- Reading: Dictionaries Defined
- Video: Iterating over the Contents of a Dictionary
- Reading: Iterating Over Dictionaries
- Video: Dictionaries vs. Lists
- Reading: Dictionary Methods Cheat Sheet
- Practice Quiz: Practice Quiz: Dictionaries
- Video: Basic Structures Wrap Up
- Video: In Marga's Words: My Most Challenging Script
- Discussion Prompt: Discussion Prompt
- Week 5: Object Oriented Programming (Optional)
- Video: OOP Introduction (Optional)
- Video: What is Object-oriented programming? (Optional)
- Reading: Object-Oriented Programming Defined
- Video: Classes and Objects in Python (Optional)
- Reading: Classes and Objects in Detail
- Video: Defining New Classes (Optional)
- Reading: Defining Classes (Optional)
- Practice Quiz: Practice Quiz: Object-oriented Programming (Optional)
- Video: Instance Methods (Optional)
- Reading: What Is a Method?
- Video: Constructors and Other Special Methods (Optional)
- Reading: Special Methods
- Video: Documenting Functions, Classes, and Methods (Optional)
- Reading: Documenting with Docstrings
- Reading: Classes and Methods Cheat Sheet (Optional)
- Video: About Jupyter Notebooks (Optional)
- Reading: Help with Jupyter Notebooks (Optional)
- Ungraded Lab: Methods and Classes (Optional)
- Video: Inheritance (Optional)
- Reading: Object Inheritance
- Video: Composition (Optional)
- Reading: Object Composition
- Video: Python Modules (Optional)
- Reading: Augmenting Python with Modules
- Reading: Supplemental Reading for Code Reuse (Optional)
- Ungraded Lab: Code Reuse (Optional)
- Video: OOP Wrap Up (Optional)
- Video: In Marga's Words: My Favorite Course (Optional)
- Ungraded Lab: Practice Notebook: Object Oriented Programming (Optional)
- Discussion Prompt: Object Oriented Programming Assignment (Optional)
- Week 6: Final Project
- Video: Final Project Introduction
- Video: Problem Statement
- Video: Research
- Video: Planning
- Video: Writing the Script
- Video: Putting It All Together
- Video: Using Graded Jupyter Notebooks
- Ungraded Lab: Putting It All Together
- Video: In Marga's Words: Developing an Inclusive Curriculum
- Video: Final Project Overview
- Reading: Final Project Help
- Ungraded Lab: Final Project: WordCloud
- Discussion Prompt: Share your word cloud!
- Video: Congratulations!
- Discussion Prompt: Your Learner Journey
- Video: Sneak Peek of the Next Course