Introduction to Programming with Python
This course teaches the fundamentals of computer programming using Python 3. Designed for absolute beginners with no prerequisites, it explains core concepts from variables and conditional logic to loops and functions. You will learn to think like a programmer and write scripts to solve simple problems.
Free with any Oreni account. No card required.

Free with any Oreni account. No card required.
What you’ll learn
- Set up a Python development environment on Windows or macOS.
- Write scripts using fundamental concepts like variables, expressions, and conditional statements.
- Control program flow with loops to perform repetitive tasks.
- Understand the basic architecture of a computer, including the CPU, memory, and storage.
- Create and run your first Python programs to analyze text and solve simple problems.
A playlist teaches. This proves you learned it.
Every feature below ladders up to one question: can you actually do the job and pass the interview.
AI-graded mock interviews
Answer real interview questions in writing — AI grades you and hands back a reference answer.
Active recall
Open-ended questions after every lesson, AI-graded, with follow-ups when you're shaky.
Quizzes
Retake any quiz, review your mistakes, and keep your best score.
Hands-on exercises
Checklist tasks with an expected-outcome reveal, so you know the moment you got it right.
Spaced-repetition flashcards
FSRS-scheduled review with a live due-count — it only resurfaces cards right before you'd forget them.
Skill mindmap
See how every concept in the course connects — not a syllabus, a map.
Cheatsheets
Searchable, copyable, downloadable — a reference you keep using after you finish.
Timestamped notes
Pin a note to the exact video moment, jump straight back to it later.
Progress + resume
Every topic tracked — close the tab, come back next week, pick up exactly where you left off.
Inside the course
10 milestones, 78 lessons, ~14 hours of video. Every lesson comes with hands-on tasks and active-recall checks — you practise it, not just watch it.
Understand the fundamental reasons for learning to program and the basic hardware concepts involved. You will set up your Python environment and learn the core building blocks of the language: variables, expressions, and statements.
- The Purpose of Programming
- Understanding Computer Hardware Architecture
- Installing Python on Windows
- Installing Python on Mac
- Introduction to Python as a Language
- Core Programming Concepts and Terminology
- Using Variables, Expressions, and Statements
- Working with Expressions and Operator Precedence
Control the flow of your programs using conditional logic and error handling. You'll also create reusable blocks of code with functions and repeat actions efficiently with different types of loops.
- Conditional Execution with If Statements
- Advanced Conditional Structures (Else, Elif, Try/Except)
- Using Built-in Functions
- Defining Custom Functions with 'def'
- Indefinite Loops with 'while'
- Definite Loops with 'for'
- Common Loop Idioms
- Advanced Loop Patterns and Logic
This milestone introduces fundamental data structures for handling sequences of data. Master string manipulation, learn to read data from files, and work with mutable sequences using Python lists.
- Introduction to Strings
- String Slicing, Methods, and Manipulation
- Understanding Files and Text Data
- Reading Files in Python
- Introduction to Python Lists
- Looping and Operating on Lists
- Comparing Strings and Lists
- Combining Strings, Files, and Lists with the Guardian Pattern
Key-value storage lets you count and group data that a plain list cannot. You build word-frequency counters with dictionaries, then use tuples to sort those counts and pull out the top results.
- Introduction to Dictionaries
- Counting with Dictionaries (Histograms)
- Applying Dictionaries to Count Words in Text
- Building a Word Frequency Counter
- Introduction to Tuples
- Sorting Lists of Tuples
- Sorting Dictionaries Using Tuples
Regular expressions turn a page of messy text into the few pieces you actually need. You move from matching whole lines to extracting exact values, and parse real log data with them.
- Introduction to Regular Expressions
- Extracting Data with Regular Expressions
- Advanced String Parsing with Regular Expressions
Python can talk to a web server directly over a socket. You write a miniature browser by hand and see how HTTP and character encoding work underneath, then let urllib and BeautifulSoup do the same job in a few lines.
- Introduction to Networked Programs and Sockets
- Understanding Application Protocols like HTTP
- Writing a Simple Web Browser in Python
- Code Walkthrough: A Basic Socket Program
- Character Sets, Encoding, and Decoding (Unicode, UTF-8)
- Simplifying HTTP Requests with `urllib`
- Code Walkthrough: Fetching and Counting Words from a URL
- Parsing HTML with BeautifulSoup
- Code Walkthrough: Scraping Links from HTML
Services exchange data in agreed formats instead of HTML pages. You read and write XML and JSON, validate them against a schema, and call real APIs including geocoding and Twitter, with the keys and rate limits that come with them.
- Introduction to Web Services and APIs
- Working with XML Data
- Code Walkthrough: Parsing XML
- Validating XML with Schemas
- Working with JSON Data
- Code Walkthrough: Parsing JSON
- Understanding Service-Oriented Architecture
- Using Web Service APIs
- Code Walkthrough: Using the GeoJSON API
- API Security, Keys, and Rate Limiting
- Code Walkthrough: Using the Twitter API
Objects bundle data together with the code that acts on it. You define a class, follow an object through construction and destruction, and extend one class from another with inheritance.
- Introduction to Python Objects and Classes
- Sample Code for a Simple Class
- Object Lifecycle: Constructors and Destructors
- Inheritance in Object-Oriented Programming
A database keeps data on disk and answers questions about it faster than your own code can. You create SQLite tables, model relationships with keys instead of repeated text, and join tables back together, including many-to-many links.
- Introduction to Databases and SQL
- Getting Started with SQLite Browser
- Code Walkthrough: Creating a Simple Email Database
- Code Walkthrough: Building a Twitter Spider with a Database
- Fundamentals of Database Design
- Representing Relationships in a Database
- Building Relational Tables
- The JOIN Operation
- Code Walkthrough: Querying Relational Data
- Many-to-Many Relationships
- Code Walkthrough: Roster Database with Many-to-Many
The last stretch turns collected data into a picture. You spider pages and compute PageRank over them, then retrieve and model a mailing-list archive, ending with a visualization of each dataset.
- Code Walkthrough: Advanced Twitter Spider
- Code Walkthrough: Geodata API and Database
- The PageRank Algorithm
- Code Walkthrough: Web Spidering for PageRank
- Code Walkthrough: PageRank Computation
- Code Walkthrough: PageRank Visualization
- Code Walkthrough: Gmane Data Retrieval
- Code Walkthrough: Gmane Data Modeling
- Code Walkthrough: Gmane Data Visualization
Start learning today
Free with an Oreni account. Create one and pick up where you left off on any device.
Free with any Oreni account. No card required.