Courses / Python Programming Fundamentals

Python Programming Fundamentals

A comprehensive introduction to programming using Python, covering core language concepts from variables and control flow through data structures, file handling, and practical applications. Students learn to write programs that process data, interact with networks and web services, and build object-oriented solutions with databases and visualizations.

  • Beginner
  • 35.5 hours
  • Self-paced
  • No certificate
  • 17 chapters
  • 162 modules
  • 365 articles
  • 15 quizzes
  • 0 learners enrolled

Course Overview

A comprehensive introduction to programming using Python, covering core language concepts from variables and control flow through data structures, file handling, and practical applications. Students learn to write programs that process data, interact with networks and web services, and build object-oriented solutions with databases and visualizations.

Course Syllabus

Chapter 1 — Getting Started
Chapter 2 — Getting Started: Why Programming Matters and How Computers Work

Module: Why Learn to Program: Creativity, Motivation, and Real-World Impact

Module: Python's Vocabulary: Reserved Words and Your First Sentence

Module: Writing and Running Python Programs: From Interactive to Scripts

Chapter 3 — Building Programs with Variables, Expressions, and Statements

Module: Naming Variables: Rules and Best Practices

Chapter 4 — Making Decisions in Your Code: Conditional Execution and Error Handling

Module: Understanding True and False: Boolean Expressions and Comparison

Module: Making Your First Decision: The if Statement

Module: Choosing Between Two Options: if-else Statements

Module: Handling Multiple Options: Chained Conditionals with elif

Module: Nesting Conditionals and Simplifying with Logical Operators

Module: Handling Errors Gracefully: try and except Blocks

Module: Preventing Errors Before They Happen: Short-Circuit Evaluation and the Guardian Pattern

Module: Reading and Understanding Error Messages: Debugging Conditional Code

Module: Chapter Review: Conditional Execution Concepts and Terminology

Chapter 5 — Mastering Functions: From Built-in Tools to Custom Code

Module: Understanding Function Calls and Arguments

Module: Chapter Review and Practice

Chapter 6 — Mastering Loops: Automating Repetitive Tasks with Python

Module: Building Blocks: Variable Updates and Initialization

Module: Conditional Repetition: Understanding while Loops

Module: Avoiding Pitfalls: Recognizing and Handling Infinite Loops

Module: Skipping to the Next Iteration: The continue Statement

Module: Looping Through Known Collections: The for Loop

Module: Debugging Loops: Finding and Fixing Loop Errors

Module: Iteration Terminology: Key Concepts and Definitions

Chapter 7 — Working with Strings: Indexing, Traversal, and Manipulation

Module: Understanding Strings as Sequences

Module: Traversing Strings with Loops

Module: Understanding String Immutability

Module: Counting Characters with the Counter Pattern

Module: Testing Substrings with the in Operator

Module: Exploring String Objects and Methods

Module: Extracting Data from Strings

Module: Creating Dynamic Strings with Formatted String Literals

Module: Debugging String Index Errors

Chapter 8 — Working with Files: Persistent Data Storage in Python

Module: Understanding File Storage and Memory

Module: Opening Files and Getting File Handles

Module: Understanding Text Files and Newline Characters

Module: Reading Files: From Line-by-Line to Full Content

Module: Making Programs Flexible: User-Supplied File Names

Chapter 9 — Mastering Lists: Sequences, Mutability, and Practical Data Handling

Module: Understanding Lists as Sequences

Module: Accessing and Modifying List Elements

Module: Combining and Repeating Lists

Module: Extracting Portions of Lists with Slicing

Module: Using Built-in Functions with Lists

Module: Converting Between Strings and Lists

Module: Parsing Lines to Extract Information

Module: Understanding Objects, Values, and Identity

Module: Aliasing: When Multiple Names Refer to the Same List

Module: Debugging List Programs and Avoiding Common Pitfalls

Chapter 10 — Dictionaries: Mapping Keys to Values

Module: Counting with Dictionaries: Building Histograms

Module: Counting Words in Files: Dictionaries Meet Real Data

Module: Iterating Through Dictionaries: Keys, Sorting, and Filtering

Module: Debugging Dictionaries and Large Datasets

Chapter 11 — Mastering Tuples: Immutable Sequences and Practical Applications

Module: Iterating Through Dictionaries with Tuple Assignment

Module: Analyzing Word Frequency: A Real-World Application

Module: Creating Lists Efficiently with List Comprehension

Module: Understanding Data Structures and Debugging Shape Errors

Chapter 12 — Mastering Regular Expressions for Powerful String Searching and Data Extraction

Module: Escaping Special Characters

Module: Regular Expression Reference and Summary

Module: Regular Expressions in Unix and Linux

Module: Debugging and Documentation Tools

Module: Practice Exercises and Challenges

    Chapter 13 — Building Network Applications: From HTTP to Web Scraping

    Module: Understanding Network Communication Fundamentals

    Module: Simplifying Web Access with urllib

    Module: Downloading Binary Files Efficiently with urllib

    Module: Web Scraping Fundamentals

    Module: Command-Line Tools for Web Retrieval (Unix/Linux)

    Chapter 14 — Exchanging Data Across the Web: XML, JSON, and APIs
    Chapter 15 — Organizing Code with Objects: An Introduction to Object-Oriented Programming

    Module: Why Object-Oriented Programming Matters

    Module: Getting Started with Object-Oriented Concepts

    Module: Understanding Program Structure and Object Interaction

    Module: Hiding Complexity Through Objects

    Module: Understanding Classes as Types

    Module: Object Lifecycle: Construction and Destruction

    Module: Creating Multiple Independent Instances

    Chapter 16 — Storing and Retrieving Data with Databases and SQL
    Chapter 17 — Building Real-World Data Applications: From Collection to Visualization

    Course Access

    Self-paced — start immediately after registering.

    Ready to start?

    Python Programming Fundamentals