CoursesProgramming
ProgrammingBeginnerSelf-paced
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.
17chapters
162modules
427lessons
15quizzes
Syllabus
17 chapters, 162 modules, 442 lessons and quizzes. Lessons marked Free preview open without enrolling.
01Getting Started1 modules · 3 lessons
02Getting Started: Why Programming Matters and How Computers Work12 modules · 30 lessons
Why Learn to Program: Creativity, Motivation, and Real-World Impact
Inside the Computer: Understanding Hardware Architecture
Learning to Program: The Two Essential Skills
Conversing with Python: Interactive Mode and Error Handling
Python's Vocabulary: Reserved Words and Your First Sentence
Interpreters vs. Compilers: How Python Translates Your Code
Writing and Running Python Programs: From Interactive to Scripts
What Is a Program? Understanding Programs and Problem-Solving
Building Blocks of Programs: Six Essential Patterns
When Things Go Wrong: Understanding Programming Errors
Debugging: Finding and Fixing Errors in Your Code
Your Learning Journey: Patience, Progress, and Programming Mastery
03Building Programs with Variables, Expressions, and Statements12 modules · 35 lessons
Understanding Values and Data Types
Naming Variables: Rules and Best Practices
Creating and Using Variables
Statements: The Actions Your Program Takes
Operators and Operands: Performing Computations
Expressions: Combining Values, Variables, and Operators
Order of Operations: PEMDAS and Operator Precedence
The Modulus Operator: Finding Remainders
String Operations: Concatenation and Replication
Getting Input from Users: The input() Function
- LessonUsing input() to Collect Data from UsersEnroll to open
- LessonCreating Effective Input Prompts with NewlinesEnroll to open
- LessonConverting String Input to Integers with int()Enroll to open
- LessonHandling ValueError: When Type Conversion FailsEnroll to open
- LessonInteractive Programs with input()Enroll to open
Writing Comments: Explaining Your Code
Choosing Meaningful Variable Names: Mnemonics and Readability
04Making Decisions in Your Code: Conditional Execution and Error Handling10 modules · 24 lessons
Understanding True and False: Boolean Expressions and Comparison
Combining Conditions: Logical Operators and Boolean Flexibility
Making Your First Decision: The if Statement
Choosing Between Two Options: if-else Statements
Handling Multiple Options: Chained Conditionals with elif
Nesting Conditionals and Simplifying with Logical Operators
Handling Errors Gracefully: try and except Blocks
Preventing Errors Before They Happen: Short-Circuit Evaluation and the Guardian Pattern
Reading and Understanding Error Messages: Debugging Conditional Code
Chapter Review: Conditional Execution Concepts and Terminology
05Mastering Functions: From Built-in Tools to Custom Code11 modules · 40 lessons
Converting Between Data Types
Understanding Function Calls and Arguments
Using Python's Built-in Functions
Using the Math Module for Advanced Calculations
Generating Random Numbers
- LessonUnderstanding Determinism and PseudorandomnessEnroll to open
- LessonGenerating Random Floats with random.random()Enroll to open
- LessonGenerating Random Integers with random.randint()Enroll to open
- LessonSelecting Random Elements with random.choice()Enroll to open
- LessonExploring Continuous Distributions in the Random ModuleEnroll to open
Writing Your Own Functions
- LessonCreating a Function with def Keyword and Proper SyntaxEnroll to open
- LessonFollowing Function Naming Rules and ConventionsEnroll to open
- LessonUnderstanding Function Objects and Calling Your FunctionsEnroll to open
- LessonNesting Functions: Using One Function Inside AnotherEnroll to open
- LessonDefining Functions in Interactive ModeEnroll to open
Tracing Program Execution Through Functions
Using Parameters and Arguments in Functions
Fruitful Functions vs. Void Functions
Why Functions Matter: Benefits and Best Practices
06Mastering Loops: Automating Repetitive Tasks with Python8 modules · 17 lessons
Building Blocks: Variable Updates and Initialization
Conditional Repetition: Understanding while Loops
Avoiding Pitfalls: Recognizing and Handling Infinite Loops
Skipping to the Next Iteration: The continue Statement
Looping Through Known Collections: The for Loop
Essential Loop Patterns: Counting, Summing, and Finding Extremes
- LessonThe General Structure of Loop Patterns for Data ScanningEnroll to open
- LessonCounting and Summing: Accumulating Results in LoopsEnroll to open
- LessonFinding Extremes: Maximum and Minimum Values in SequencesEnroll to open
- LessonCount, Sum, and Find ExtremesEnroll to open
- LessonUnderstanding Loop Patterns: Scanning Data for Specific ValuesEnroll to open
Debugging Loops: Finding and Fixing Loop Errors
Iteration Terminology: Key Concepts and Definitions
07Working with Strings: Indexing, Traversal, and Manipulation14 modules · 24 lessons
Understanding Strings as Sequences
Measuring String Length
Traversing Strings with Loops
Extracting Substrings with Slicing
Understanding String Immutability
Counting Characters with the Counter Pattern
Testing Substrings with the in Operator
Comparing Strings
Exploring String Objects and Methods
Calling String Methods with Dot Notation
Extracting Data from Strings
Creating Dynamic Strings with Formatted String Literals
Debugging String Index Errors
08Working with Files: Persistent Data Storage in Python10 modules · 27 lessons
Understanding File Storage and Memory
Opening Files and Getting File Handles
Understanding Text Files and Newline Characters
Reading Files: From Line-by-Line to Full Content
Searching Through Files: Patterns and Techniques
- LessonThe File Search Pattern: Read, Filter, and ProcessEnroll to open
- LessonFinding Lines by Prefix: The startswith() MethodEnroll to open
- LessonStructuring Search Loops with continue: Skipping Uninteresting LinesEnroll to open
- LessonSearching for Substrings Anywhere in a Line: The find() MethodEnroll to open
Making Programs Flexible: User-Supplied File Names
Handling File Errors Gracefully: Try, Except, and Exit
Writing Files: Creating and Modifying Data
Debugging File Operations: Handling Whitespace Issues
Chapter Exercises: Applying File Operations
09Mastering Lists: Sequences, Mutability, and Practical Data Handling16 modules · 42 lessons
Understanding Lists as Sequences
Accessing and Modifying List Elements
Iterating Through Lists
Combining and Repeating Lists
Extracting Portions of Lists with Slicing
Essential List Methods
Removing Elements from Lists
Using Built-in Functions with Lists
Converting Between Strings and Lists
Parsing Lines to Extract Information
Understanding Objects, Values, and Identity
Aliasing: When Multiple Names Refer to the Same List
Passing Lists to Functions
Debugging List Programs and Avoiding Common Pitfalls
Handling Errors When Parsing Files
10Dictionaries: Mapping Keys to Values8 modules · 22 lessons
Dictionary Fundamentals: Creating and Accessing Data
Counting with Dictionaries: Building Histograms
Counting Words in Files: Dictionaries Meet Real Data
Iterating Through Dictionaries: Keys, Sorting, and Filtering
Advanced Text Parsing: Cleaning Data for Accurate Counting
Debugging Dictionaries and Large Datasets
Dictionary Terminology and Concepts
11Mastering Tuples: Immutable Sequences and Practical Applications10 modules · 28 lessons
Understanding Tuples: Creation and Immutability
Comparing and Sorting Tuples
Tuple Assignment: Unpacking and Variable Swapping
Working with Dictionaries and Tuples
Iterating Through Dictionaries with Tuple Assignment
Analyzing Word Frequency: A Real-World Application
Using Tuples as Dictionary Keys
Comparing Sequences: Strings, Lists, and Tuples
Creating Lists Efficiently with List Comprehension
Understanding Data Structures and Debugging Shape Errors
12Mastering Regular Expressions for Powerful String Searching and Data Extraction9 modules · 18 lessons
Getting Started with Regular Expressions
Matching Patterns with Special Characters
- LessonAnchoring Your Search: Matching the Beginning of Lines with ^Enroll to open
- LessonThe Wildcard Period: Matching Any Single CharacterEnroll to open
- LessonRepeating Patterns: Using Quantifiers + and * to Match Multiple CharactersEnroll to open
- LessonGreedy vs. Non-Greedy Matching: Controlling How Quantifiers ExpandEnroll to open
Extracting Data from Strings
Combining Search and Extract Operations
Escaping Special Characters
Regular Expression Reference and Summary
Regular Expressions in Unix and Linux
Debugging and Documentation Tools
13Building Network Applications: From HTTP to Web Scraping9 modules · 21 lessons
Understanding Network Communication Fundamentals
Building Your First Web Browser with Sockets
Downloading Binary Files: Images Over HTTP
Simplifying Web Access with urllib
Downloading Binary Files Efficiently with urllib
Web Scraping Fundamentals
Parsing HTML with Regular Expressions
Robust HTML Parsing with BeautifulSoup
Command-Line Tools for Web Retrieval (Unix/Linux)
14Exchanging Data Across the Web: XML, JSON, and APIs7 modules · 29 lessons
Understanding XML: Structure and Basics
Parsing XML with Python's ElementTree
- LessonCreating Multi-line Strings for XML DataEnroll to open
- LessonConverting XML Strings to Tree ObjectsEnroll to open
- LessonExtracting Data from XML: Finding Elements and AttributesEnroll to open
- LessonWhy Use an XML Parser Instead of String ManipulationEnroll to open
- LessonParse and Extract XML DataEnroll to open
Iterating Through Multiple XML Nodes
Introduction to JSON: A Simpler Data Format
Parsing JSON with Python
Understanding APIs: Contracts Between Applications
Securing API Access: Keys, Authentication, and OAuth
- LessonAPI Keys: Identifying Users and Monitoring UsageEnroll to open
- LessonIncluding API Keys in RequestsEnroll to open
- LessonOAuth: Cryptographically Signing API RequestsEnroll to open
- LessonUsing OAuth Libraries to Avoid Implementation ComplexityEnroll to open
- QuizAPI Security and AuthenticationEnroll to open
15Organizing Code with Objects: An Introduction to Object-Oriented Programming11 modules · 24 lessons
Why Object-Oriented Programming Matters
Getting Started with Object-Oriented Concepts
Working with Objects You Already Know
Understanding Program Structure and Object Interaction
Hiding Complexity Through Objects
Creating Your First Python Class
Understanding Classes as Types
Object Lifecycle: Construction and Destruction
Creating Multiple Independent Instances
Extending Classes Through Inheritance
16Storing and Retrieving Data with Databases and SQL11 modules · 40 lessons
Database Fundamentals and Setup
Creating and Connecting to Databases
Core SQL Operations: CRUD Fundamentals
- LessonAdding Data with INSERT: Parameterized Queries and CommitEnroll to open
- LessonRetrieving Data with SELECT: Fetching Rows and Iterating ResultsEnroll to open
- LessonFiltering Results with WHERE: Conditional Row SelectionEnroll to open
- LessonModifying Data with UPDATE: Changing Existing RecordsEnroll to open
- LessonRemoving Data with DELETE: Safely Deleting RowsEnroll to open
- LessonCRUD: The Four Essential Database OperationsEnroll to open
- LessonPractice CRUD Operations on a Music DatabaseEnroll to open
Visualizing Database Relationships: Data Model Diagrams
Designing Relational Databases: Multiple Tables and Normalization
- LessonUnderstanding Data Modeling: Breaking Data into Multiple TablesEnroll to open
- LessonThe Problem with Redundancy: Why Repeating Data FailsEnroll to open
- LessonDatabase Normalization: The Rule of Never Repeating DataEnroll to open
- LessonPrimary Keys and Foreign Keys: Linking Tables TogetherEnroll to open
- LessonJoining Tables: Reconstructing Data Across Multiple TablesEnroll to open
Automatic Primary Keys and Efficient Lookups
Enforcing Data Integrity with Constraints
Building Multi-Table Applications: A Practical Example
- LessonDesigning a Multi-Table Schema: The Tracks, Albums, and Artists ExampleEnroll to open
- LessonLoading Relational Data: The INSERT OR IGNORE and SELECT PatternEnroll to open
- LessonReconstructing Data with JOIN: Querying Across Multiple TablesEnroll to open
- LessonBuild a Multi-Table Music Database ApplicationEnroll to open
Many-to-Many Relationships: Modeling Complex Connections
- LessonRecognizing Many-to-Many Relationships: When One-to-Many Isn't EnoughEnroll to open
- LessonWhy Arrays and Strings Don't Work: Inefficient Many-to-Many WorkaroundsEnroll to open
- LessonJunction Tables: The Solution to Many-to-Many RelationshipsEnroll to open
- LessonLoading Many-to-Many Data: Parsing and Inserting into Junction TablesEnroll to open
- LessonQuerying Many-to-Many Data: Multiple JOINs to Reconstruct RelationshipsEnroll to open
Adding Attributes to Relationships: Data in Junction Tables
When to Use Databases: Practical Considerations and Debugging
17Building Real-World Data Applications: From Collection to Visualization3 modules · 18 lessons
Module 1: Mapping Geographic Data with OpenStreetMap
- LessonWhy APIs Need Rate Limits and How to Work Around ThemEnroll to open
- LessonUsing SQLite as a Local Cache for API ResultsEnroll to open
- LessonConverting Database Records to JavaScript for Web MapsEnroll to open
- LessonBuilding a Complete Geospatial Data ApplicationEnroll to open
- QuizGeocoding and Caching ConceptsEnroll to open
Module 2: Analyzing Web Connectivity with PageRank
- LessonCrawling the Web: Building a Database of Pages and LinksEnroll to open
- LessonUnderstanding and Implementing the PageRank AlgorithmEnroll to open
- LessonInspecting Spider Data: Understanding Page ConnectivityEnroll to open
- LessonVisualizing Network Graphs with D3.jsEnroll to open
- LessonImplement a Simple Web SpiderEnroll to open
- QuizPageRank and Network VisualizationEnroll to open
Module 3: Processing Large Email Archives
- LessonSpidering Email Repositories ResponsiblyEnroll to open
- LessonCleaning and Normalizing Email DataEnroll to open
- LessonUnderstanding the Three-Database PipelineEnroll to open
- LessonUsing Mapping Tables to Unify Entity IdentifiersEnroll to open
- LessonAnalyzing Email Participation and Creating VisualizationsEnroll to open
- QuizEmail Data Pipeline and CleaningEnroll to open
- LessonCreating Email MappingsEnroll to open
Start Python Programming Fundamentals today.
Listed at ₹7,599. Free for you right now.
Python Programming Fundamentals