Programming in Python
From zero to databases and data analysis, with Python for Everybody, Dr Charles Severance's lectures, and a complete Arabic track.
- Level Beginner
- Sections 17
- English lectures 90
- Arabic lessons 64
- Readings 33
- Exercise sets 16
- Updated 5 October 2026
What you’ll learn
- Write and run complete Python programs on your own computer
- Use variables, conditions, loops and functions with confidence
- Process strings, files, lists and dictionaries
- Extract data with regular expressions and from web pages
- Work with JSON and web APIs
- Build an SQL database and visualise data
Door content
Setting up Python5
Why program?14
- Notes Section notes
- Video · English Lecture: Why program?, part 1
- Video · English Lecture: Why program?, part 2
- Video · English Lecture: Why program?, part 3
- Video · English Lecture: Why program?, part 4
- Video · English Lecture: Why program?, part 5
- Video · English Lecture: Why program?, part 6
- Video · English Lecture: Why program?, part 7
- Reading · English Read chapter 1 of the book
- Reading · Arabic Chapter 1 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #001 - Introduction And What's Python
- Video · Arabic Elzero (Arabic) #005 - Dealing With Data in Python
- Video · Arabic Elzero (Arabic) #006 - Some Data Types Overview
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Variables, expressions and statements20
- Notes Section notes
- Video · English Lecture: Variables, expressions and statements, part 1
- Video · English Lecture: Variables, expressions and statements, part 2
- Video · English Lecture: Variables, expressions and statements, part 3
- Video · English Lecture: Variables, expressions and statements, part 4
- Reading · English Read chapter 2 of the book
- Reading · Arabic Chapter 2 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #007 - Variables Part One
- Video · Arabic Elzero (Arabic) #008 - Variables Part Two
- Video · Arabic Elzero (Arabic) #009 - Escape Sequences Characters
- Video · Arabic Elzero (Arabic) #010 - Concatenation And Training
- Video · Arabic Elzero (Arabic) #019 - Numbers
- Video · Arabic Elzero (Arabic) #020 - Arithmetic Operators
- Video · Arabic Elzero (Arabic) #033 - Boolean
- Video · Arabic Elzero (Arabic) #034 - Boolean Operators
- Video · Arabic Elzero (Arabic) #035 - Assignment Operators
- Video · Arabic Elzero (Arabic) #036 - Comparison Operators
- Video · Arabic Elzero (Arabic) #037 - Type Conversion
- Video · Arabic Elzero (Arabic) #038 - User Input
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Conditional execution14
- Notes Section notes
- Video · English Lecture: Conditional execution, part 1
- Video · English Lecture: Conditional execution, part 2
- Video · English Lecture: Conditional execution, part 3
- Video · English Lecture: Conditional execution, part 4
- Reading · English Read chapter 3 of the book
- Reading · Arabic Chapter 3 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #041 - Control Flow - If, Elif, Else
- Video · Arabic Elzero (Arabic) #042 - Control Flow - Nested If And Training
- Video · Arabic Elzero (Arabic) #043 - Control Flow - Ternary Conditional Operator
- Video · Arabic Elzero (Arabic) #045 - Membership Operators
- Video · Arabic Elzero (Arabic) #090 - Errors And Exceptions Raising
- Video · Arabic Elzero (Arabic) #091 - Exceptions Handling Try, Except, Else, Finally
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Functions13
- Notes Section notes
- Video · English Lecture: Functions, part 1
- Video · English Lecture: Functions, part 2
- Video · English Lecture: Functions, part 3
- Reading · English Read chapter 4 of the book
- Reading · Arabic Chapter 4 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #056 - Function And Return
- Video · Arabic Elzero (Arabic) #057 - Function Parameters And Arguments
- Video · Arabic Elzero (Arabic) #058 - Function Packing, Unpacking Arguments
- Video · Arabic Elzero (Arabic) #059 - Function Default Parameters
- Video · Arabic Elzero (Arabic) #062 - Function Scope
- Video · Arabic Elzero (Arabic) #064 - Function Lambda
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Loops and iteration15
- Notes Section notes
- Video · English Lecture: Loops and iteration, part 1
- Video · English Lecture: Loops and iteration, part 2
- Video · English Lecture: Loops and iteration, part 3
- Video · English Lecture: Loops and iteration, part 4
- Video · English Lecture: Loops and iteration, part 5
- Reading · English Read chapter 5 of the book
- Reading · Arabic Chapter 5 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #047 - Loop - While and Else
- Video · Arabic Elzero (Arabic) #048 - Loop - While Training's
- Video · Arabic Elzero (Arabic) #051 - Loop For and Else
- Video · Arabic Elzero (Arabic) #052 - Loop For Training's
- Video · Arabic Elzero (Arabic) #053 - Loop For Nested Loop
- Video · Arabic Elzero (Arabic) #054 - Loop - Break Continue Pass
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Strings15
- Notes Section notes
- Video · English Lecture: Strings, part 1
- Video · English Lecture: Strings, part 2
- Video · English Lecture: Strings, part 3
- Reading · English Read chapter 6 of the book
- Reading · Arabic Chapter 6 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #011 - Strings
- Video · Arabic Elzero (Arabic) #012 - Strings - Indexing And Slicing
- Video · Arabic Elzero (Arabic) #013 - Strings Methods Part One
- Video · Arabic Elzero (Arabic) #014 - Strings Methods Part Two
- Video · Arabic Elzero (Arabic) #015 - Strings Methods Part Three
- Video · Arabic Elzero (Arabic) #016 - Strings Methods Part Four
- Video · Arabic Elzero (Arabic) #017 - Strings Formatting The Old Way
- Video · Arabic Elzero (Arabic) #018 - Strings Formatting The New Ways
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Files11
- Notes Section notes
- Video · English Lecture: Files, part 1
- Video · English Lecture: Files, part 2
- Video · English Lecture: Files, part 3
- Reading · English Read chapter 7 of the book
- Reading · Arabic Chapter 7 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #065 - Files Handling Part One Intro
- Video · Arabic Elzero (Arabic) #066 - Files Handling Part 2 Read Files
- Video · Arabic Elzero (Arabic) #067 - Files Handling Part 3 Write and Append In Files
- Video · Arabic Elzero (Arabic) #068 - Files Handling Part 4 Important Info
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Lists11
- Notes Section notes
- Video · English Lecture: Lists, part 1
- Video · English Lecture: Lists, part 2
- Video · English Lecture: Lists, part 3
- Video · English Lecture: Lists, part 4
- Reading · English Read chapter 8 of the book
- Reading · Arabic Chapter 8 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #021 - Lists
- Video · Arabic Elzero (Arabic) #022 - Lists Methods Part One
- Video · Arabic Elzero (Arabic) #023 - Lists Methods Part Two
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Dictionaries13
- Notes Section notes
- Video · English Lecture: Dictionaries, part 1
- Video · English Lecture: Dictionaries, part 2
- Video · English Lecture: Dictionaries, part 3
- Video · English Lecture: Dictionaries, part 4
- Video · English Lecture: Dictionaries, part 5
- Reading · English Read chapter 9 of the book
- Reading · Arabic Chapter 9 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #030 - Dictionary
- Video · Arabic Elzero (Arabic) #031 - Dictionary Methods Part One
- Video · Arabic Elzero (Arabic) #032 - Dictionary Methods Part Two
- Video · Arabic Elzero (Arabic) #055 - Loop Advanced Dictionary
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Tuples10
- Notes Section notes
- Video · English Lecture: Tuples, part 1
- Video · English Lecture: Tuples, part 2
- Video · English Lecture: Tuples, part 3
- Reading · English Read chapter 10 of the book
- Reading · Arabic Chapter 10 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #024 - Tuples And Methods Part One
- Video · Arabic Elzero (Arabic) #025 - Tuples And Methods Part Two
- Video · Arabic Elzero (Arabic) #026 - Set
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Regular expressions13
- Notes Section notes
- Video · English Lecture: Regular expressions, part 1
- Video · English Lecture: Regular expressions, part 2
- Video · English Lecture: Regular expressions, part 3
- Reading · English Read chapter 11 of the book
- Reading · Arabic Chapter 11 in the Arabic translation (PDF)
- Video · Arabic Elzero (Arabic) #095 - Regular Expressions Part 1 Intro
- Video · Arabic Elzero (Arabic) #096 - Regular Expressions Part 2 Quantifiers
- Video · Arabic Elzero (Arabic) #097 - Regular Expressions Part 3 Characters Classes Training's
- Video · Arabic Elzero (Arabic) #098 - Regular Expressions Part 4 Assertions & Email Pattern
- Video · Arabic Elzero (Arabic) #099 - Regular Expressions Part 5 Logical Or & Escaping
- Video · Arabic Elzero (Arabic) #100 - Regular Expressions Part 6 Re Module Search & FindAll
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Networked programs15
- Notes Section notes
- Video · English Lecture: Networked programs, part 1
- Video · English Lecture: Networked programs, part 2
- Video · English Lecture: Networked programs, part 3
- Video · English Lecture: Networked programs, part 4
- Video · English Lecture: Networked programs, part 5
- Video · English Lecture: Networked programs, part 6
- Video · English Lecture: Networked programs, part 7
- Video · English Lecture: Networked programs, part 8
- Video · English Lecture: Networked programs, part 9
- Video · English Lecture: Networked programs, part 10
- Video · English Lecture: Networked programs, part 11
- Reading · English Read chapter 12 of the book
- Reading · Arabic Chapter 12 in the Arabic translation (PDF)
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Web services: XML, JSON and APIs15
- Notes Section notes
- Video · English Lecture: Web services: XML, JSON and APIs, part 1
- Video · English Lecture: Web services: XML, JSON and APIs, part 2
- Video · English Lecture: Web services: XML, JSON and APIs, part 3
- Video · English Lecture: Web services: XML, JSON and APIs, part 4
- Video · English Lecture: Web services: XML, JSON and APIs, part 5
- Video · English Lecture: Web services: XML, JSON and APIs, part 6
- Video · English Lecture: Web services: XML, JSON and APIs, part 7
- Video · English Lecture: Web services: XML, JSON and APIs, part 8
- Video · English Lecture: Web services: XML, JSON and APIs, part 9
- Video · English Lecture: Web services: XML, JSON and APIs, part 10
- Video · English Lecture: Web services: XML, JSON and APIs, part 11
- Reading · English Read chapter 13 of the book
- Reading · Arabic Chapter 13 in the Arabic translation (PDF)
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Object-oriented programming9
- Notes Section notes
- Video · English Lecture: Object-oriented programming, part 1
- Video · English Lecture: Object-oriented programming, part 2
- Video · English Lecture: Object-oriented programming, part 3
- Video · English Lecture: Object-oriented programming, part 4
- Reading · English Read chapter 14 of the book
- Reading · Arabic Chapter 14 in the Arabic translation (PDF)
- Reading · Arabic In Arabic: this topic in the Elzero series (lesson 101 onwards)
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Databases and SQL15
- Notes Section notes
- Video · English Lecture: Databases and SQL, part 1
- Video · English Lecture: Databases and SQL, part 2
- Video · English Lecture: Databases and SQL, part 3
- Video · English Lecture: Databases and SQL, part 4
- Video · English Lecture: Databases and SQL, part 5
- Video · English Lecture: Databases and SQL, part 6
- Video · English Lecture: Databases and SQL, part 7
- Video · English Lecture: Databases and SQL, part 8
- Video · English Lecture: Databases and SQL, part 9
- Video · English Lecture: Databases and SQL, part 10
- Reading · English Read chapter 15 of the book
- Reading · Arabic Chapter 15 in the Arabic translation (PDF)
- Reading · Arabic In Arabic: this topic in the Elzero series (lesson 101 onwards)
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Visualising data14
- Notes Section notes
- Video · English Lecture: Visualising data, part 1
- Video · English Lecture: Visualising data, part 2
- Video · English Lecture: Visualising data, part 3
- Video · English Lecture: Visualising data, part 4
- Video · English Lecture: Visualising data, part 5
- Video · English Lecture: Visualising data, part 6
- Video · English Lecture: Visualising data, part 7
- Video · English Lecture: Visualising data, part 8
- Video · English Lecture: Visualising data, part 9
- Video · English Lecture: Visualising data, part 10
- Reading · English Read chapter 16 of the book
- Reading · Arabic Chapter 16 in the Arabic translation (PDF)
- Exercises Auto-graded exercises (free sign-in on py4e.com)
Requirements
- No previous programming experience
- A computer running Windows, macOS or Linux
- Main lectures are in English, with a full parallel Arabic track
About this door
This door is built on Python for Everybody, the course Dr Charles Severance teaches at the University of Michigan and one of the best-known open programming courses in the world. Its book is published under a Creative Commons licence and has a free Arabic translation.
Every section has short notes, lectures in English, the matching book chapter in English and Arabic, parallel Arabic lessons from Elzero Web School, and auto-graded exercises. Everything is open from the start, at your own pace.
Sources and licences
| Source | Author | Licence |
|---|---|---|
| Python for Everybody (book, slides, lectures) | Charles R. Severance | CC BY 4.0 |
| بايثون للجميع: الترجمة العربية | Electronics Go | Free PDF published on py4e.com (linked, not hosted) |
| Learn Python in Arabic (Mastering Python) | Elzero Web School | Linked and embedded from YouTube; not hosted by Door |
This is a curated door: lectures are linked from where they were published, not hosted, and every item names its source. The notes are written by Door.