This course covers the fundamentals of the Python programming language and how to use it for tasks ranging from simple automation to complex tools. It is designed for people who are already familiar with scripting or programming concepts and need to transition to Python from another language or technology.
1. Python Overview
– Core Concepts
– Python Data Model
2. Installing Python
– Bundled Python (Linux / MacOS)
– Installing Anaconda
– Managing Environments
– Installing Packages
3. Data Types Recap
– Integers
– Floats
– Strings
– String Functions
– String Formatting
– Booleans
– NoneType
– Practice Lab: Working with Python Data Types
4. Data Structures Recap
– Lists
– Indexing and Slicing
– List operations
– List methods
– Tuples
– Tuples vs Lists
– Tuples Immutability
– Dictionaries
– Dictionary Methods
– Sets
– Set methods
– Sets vs Lists
– Practice Lab: Working with Python Data Structures
5. Programming Fundamentals Recap
– Loops
– Pattern Matching
– Functions
– Function arguments
– Positional vs Keyword arguments
– Default arguments
– Function Scoping
– Practice Lab: Conditionals, Loops and Functions
– Functional Programming
– Lambda functions
– Map
– Filter
– Decorators
– Practice Project: Implementing a Calculator Application (with FP)
6. Object Oriented Programming
– Creating a Simple Class
– Dunder Methods. Constructors. Operators.
– Inheritance, Polymorphism, Encapsulation, Abstraction
– Practice Project: Implementing a NoteApp Class
7. Input / Output
– Reading from stdin
– Writing to stdout
– Practice Project: Building a Tic-Tac-Toe Game
– Opening and Closing Files
– Reading from Files
– Writing to Files
– The Context Manager
– Network IO
– The requests package
– Practice Project: Playing Tic-Tac-Toe Against an Online Server
8. File System Manipulation
– Processing Files
– The os module
– Traversing Directories
– Practice Project: Aggregating CSV Files
– Creating, Moving and Deleting Files and Directories
– Creating Archives
– Practice Project: Automating Daily Backups
9. Concurrency and Asynchronous Operations
– Multithreading in Python
– The queue module
– ThreadPoolExecutor
– Multithreading vs Parallel Processing
– Async IO
– async and await
– Practice Project: Scraping an E-Commerce Website
10. Writing Scripts
– Processing Command Line Arguments
– The sys Module
– The argparse Module
– Using Environment Variables
– Practice Project: Building a CLI Task Manager Application
– Exception Handling
– The subprocess module
– The signal module
– Turning Scripts Into Executables
– Schedule Scripts to Run at a Specific Time
– Unit Testing with pytest
– Organizing Scripts in Modules and Packages
– Best Practices
11. Pandas
– Introduction to Jupyter Notebooks
– Series and DataFrames
– Reading and Writing .csv files
– Indexing DataFrames
– Creating, manipulating and deleting DataFrame columns
– Merging data from multiple DataFrames
– Plotting data using the built-in API
– Time Series
– The datetime module
– Practice Project: Cleaning data from multiple sources and visualizing it
12. Apache Airflow
– Airflow Concepts
– DAGs and Operators
– Extending Operators
– Tasks and relationships
– Connections
– Job scheduling
– Practice Project: Scheduling a periodic data extraction and cleaning job
This course covers the fundamentals of the Python programming language and how to use it for tasks ranging from simple automation to complex tools. It is designed for people who are already familiar with scripting or programming concepts and need to transition to Python from another language or technology.
1. Python Overview
– Core Concepts
– Python Data Model
2. Installing Python
– Bundled Python (Linux / MacOS)
– Installing Anaconda
– Managing Environments
– Installing Packages
3. Data Types Recap
– Integers
– Floats
– Strings
– String Functions
– String Formatting
– Booleans
– NoneType
– Practice Lab: Working with Python Data Types
4. Data Structures Recap
– Lists
– Indexing and Slicing
– List operations
– List methods
– Tuples
– Tuples vs Lists
– Tuples Immutability
– Dictionaries
– Dictionary Methods
– Sets
– Set methods
– Sets vs Lists
– Practice Lab: Working with Python Data Structures
5. Programming Fundamentals Recap
– Loops
– Pattern Matching
– Functions
– Function arguments
– Positional vs Keyword arguments
– Default arguments
– Function Scoping
– Practice Lab: Conditionals, Loops and Functions
– Functional Programming
– Lambda functions
– Map
– Filter
– Decorators
– Practice Project: Implementing a Calculator Application (with FP)
6. Object Oriented Programming
– Creating a Simple Class
– Dunder Methods. Constructors. Operators.
– Inheritance, Polymorphism, Encapsulation, Abstraction
– Practice Project: Implementing a NoteApp Class
7. Input / Output
– Reading from stdin
– Writing to stdout
– Practice Project: Building a Tic-Tac-Toe Game
– Opening and Closing Files
– Reading from Files
– Writing to Files
– The Context Manager
– Network IO
– The requests package
– Practice Project: Playing Tic-Tac-Toe Against an Online Server
8. File System Manipulation
– Processing Files
– The os module
– Traversing Directories
– Practice Project: Aggregating CSV Files
– Creating, Moving and Deleting Files and Directories
– Creating Archives
– Practice Project: Automating Daily Backups
9. Concurrency and Asynchronous Operations
– Multithreading in Python
– The queue module
– ThreadPoolExecutor
– Multithreading vs Parallel Processing
– Async IO
– async and await
– Practice Project: Scraping an E-Commerce Website
10. Writing Scripts
– Processing Command Line Arguments
– The sys Module
– The argparse Module
– Using Environment Variables
– Practice Project: Building a CLI Task Manager Application
– Exception Handling
– The subprocess module
– The signal module
– Turning Scripts Into Executables
– Schedule Scripts to Run at a Specific Time
– Unit Testing with pytest
– Organizing Scripts in Modules and Packages
– Best Practices
11. Pandas
– Introduction to Jupyter Notebooks
– Series and DataFrames
– Reading and Writing .csv files
– Indexing DataFrames
– Creating, manipulating and deleting DataFrame columns
– Merging data from multiple DataFrames
– Plotting data using the built-in API
– Time Series
– The datetime module
– Practice Project: Cleaning data from multiple sources and visualizing it
12. Apache Airflow
– Airflow Concepts
– DAGs and Operators
– Extending Operators
– Tasks and relationships
– Connections
– Job scheduling
– Practice Project: Scheduling a periodic data extraction and cleaning job
Be the first to hear about our latest courses by signing up to our mailing list.
Contact