Free Online Courses: Python
Course Description
This comprehensive Python course takes you from the very basics of writing your first “Hello, World!” script to building advanced applications and working on real-world projects. Through a structured sequence of lessons, you’ll learn fundamental programming concepts, data structures, object-oriented practices, and powerful libraries that form the backbone of Python’s versatility. Along the way, you’ll develop proficiency in essential skills such as debugging, testing, and managing environments so that you can write clean, efficient, and reliable code.
Beyond the core language topics, you’ll explore advanced features including functional programming, asynchronous execution, and web development with frameworks like Flask. You’ll also delve into data science workflows, covering NumPy, pandas, and data visualization with matplotlib and seaborn. Two capstone projects—one focusing on data scraping and analysis, and another on developing a functional web application—provide hands-on experience integrating everything you’ve learned into cohesive, practical solutions.
Course Objectives
By the end of the course, you should be able to:
Set up a Python development environment and run Python scripts confidently.
Understand and apply fundamental Python syntax, data types, and control structures.
Organize and manipulate data effectively using lists, dictionaries, sets, and other data structures.
Write reusable, modular code using functions, including advanced argument handling and recursion.
Implement object-oriented principles: define classes, use inheritance, and encapsulate data safely.
Handle files, manage exceptions, and debug programs using best practices.
Work with modules, packages, and virtual environments to structure and share your Python projects.
Explore functional programming concepts, decorators, generators, and context managers for efficient coding.
Read and write data in common formats such as JSON and CSV, including web data retrieval via APIs.
Automate tasks, build command-line applications, and schedule repetitive processes.
Develop simple web applications with Flask and integrate databases for persistent data storage.
Perform data analysis and visualization with NumPy, pandas, and plotting libraries.
Write and maintain unit tests, apply mocking, and follow code style conventions for robust, maintainable projects.
Implement concurrency and asynchronous programming for scalable I/O-bound solutions.
Complete capstone projects that demonstrate real-world skills in data scraping, analysis, and web app development.
Table of Contents
Sets and Set Operations
Defining and Calling Functions
Function Arguments and Return Values
Variable Scope and Lifetime
Recursion
Exception Handling (Try/Except)
Debugging Techniques and Problem Solving
File Input and Output
Modules and the Standard Library
Packages and Project Structure
Virtual Environments and Package Management
Introduction to Object-Oriented Programming (OOP)
Classes and Objects in Python
Inheritance and Polymorphism
Advanced OOP – Encapsulation and Special Methods
Iterators and Generators
Decorators and Higher-Order Functions
Context Managers (The with Statement)
Functional Programming in Python
Regular Expressions (Regex)
Working with HTTP and APIs (Requests)
Data Formats: JSON and CSV
Web Scraping with Python (BeautifulSoup)
Building Command-Line Applications (argparse)
Automating Tasks with Python
Working with Databases (SQLite)
Introduction to Web Development with Flask
Unit Testing and Mocking
Code Style and Best Practices
Packaging and Distribution of Python Projects
Numerical Computing with NumPy
Data Analysis with Pandas
Data Visualization with Matplotlib and Seaborn
Concurrent Programming in Python
Asynchronous Programming (asyncio)
Capstone Project: Data Scraping and Analysis
Capstone Project: Web Application Development