Mímir, Keeper of the Well of Wisdom
Python Mega Course: Build 20 Real-World Apps and AI Agents
https://www.udemy.com/course/the-python-mega-course/
Year : 2026
Language : English
Level : All Levels
Category : Development
Subcategory : Programming Languages
Duration : 49h 34m
Lectures : 431
Rating : 4.6/5 (72,622 reviews)
Students : 357,682
INSTRUCTOR(S)
HEADLINE
Learn Python from Beginner to Pro. Build 20 Real-World Apps
with Python Including AI Agents with LangChain.
WHAT YOU'LL LEARN
* Build 20 real-world Python apps and AI Agents from scratch.
* Automate repetitive tasks using Python scripts.
* Create your own web apps, data science tools, and desktop
GUIs.
* Master core Python concepts through a hands-on, project-
based
approach.
* Integrate Python with modern AI tools like LangChain to
build
intelligent Agents and Assistants.
* Work with APIs, web scraping, and data processing to solve
real problems.
* Gain the confidence to tackle any new Python project on your
own.
* Build apps using essential Python libraries -including PyQt,
Flask, Django, Pandas, Selenium, LangChain, and more.
REQUIREMENTS
* A computer running Windows, macOS, or Linux
* No prior programming experience needed
WHO IS THIS COURSE FOR
* Complete beginners who want to finally understand Python by
building real projects
* Self-taught coders who feel stuck in tutorials and want to
apply their skills
* Professionals and students who want to automate tasks,
analyze
data, or build tools
* Anyone who has tried learning Python before but it didn?t
stick
* Learners who want to go beyond theory and build apps they
can
actually use
DESCRIPTION
This course is designed to teach you Python by building
practical applications from the ground up. It starts with the
basics and gradually moves into more advanced topics, using
real-world examples to help you understand how Python is used
in
practice. You'll build 20 different apps throughout the
course,
each focusing on a specific area of Python programming. These
include: Automation scripts Web applications APIs Data science
tools Web scraping programs Desktop apps with a graphical
interface AI agents using Python and LangChain Each app is
developed step by step, with clear explanations along the way.
You don't need any prior programming experience to follow the
course. The only requirement is that you?re willing to follow
along and write code as you go. The course includes a recently
added section on building AI apps with Python and LangChain,
reflecting the latest developments in Python?s use in
automation
and artificial intelligence. Rather than focusing heavily on
programming theory, the course emphasizes building usable
tools.
That way, you gain both a solid understanding of Python and
the
confidence to apply it in your own projects. If you're looking
for a course that is hands-on, practical, and beginner-
friendly,
this is a comprehensive option to get started with Python
programming. Take a look to some of the great reviews students
have left: "This course has been INCREDIBLE! Ardit's step-by-
step approach has really helped me develop my skills as a new
Python developer. I'm loving being able to work through the
projects, along with then using the new skills I've learnt in
exercises. I'd highly recommend this course to anyone who is
interested in learning Python. Thanks Ardit!" - Braden Clark
"An
excellent course, I strongly recommend it to anyone wanting to
learn python as a beginner. Not only did I learn a lot of
valuable information during this course, I actually really
enjoyed doing it!" -Daphne Sullivan "This is the best course
I've ever taken on Udemy. The lectures are straight to the
point
and easy to understand. The best thing about the course is
that
it is based on actually useful projects. When taking other
courses, what really unmotivated me was that it was all
theory,
with examples that weren't even close to the reality of a
programmer, and I couldn't see how I'd apply that in a real
program. With Ardit's course, I can finally start coding what
had so far been just ideas." -Maria Eduarda de Medeiros Lima
Siqueira
COURSE CONTENT
Chapter 1: First Steps: Capturing and Storing User Input
(Variables, User Input, Lists)
1. Welcome to the Python Mega Course
2. Helpful Resources
3. Today's Goals
4. Installing Python and PyCharm
5. Getting Started with PyCharm
6. Building the Task Manager App - The First Step
7. Getting User Input
8. Storing User Input in Lists
9. What is a bug?
10. Coding Experiments
11. Bonus Example
12. Bug-Fixing Exercises
13. Programming Tool/Concept of the Day: The Python Console
14. FAQ
15. Cheatsheet, Day 1
16. Course Cheatsheets
17. Programming Terms: A to Z Glossary
18. How to use Role Play for Checking Your Skills
Chapter 2: Make Your App Interactive (Methods, While Loops)
19. Recap of Yesterday
20. Getting User Input Repeatedly
21. Storing User Input Repeatedly
22. Coding Experiments
23. Bonus Example
24. Coding Exercise: Infinite While-Loop
25. Coding Exercise: While-Loop and User Input
26. Bug-Fixing Exercises
27. Programming Tool/Concept of the Day: How to Find the
Code You Need
28. Tip
29. FAQ
30. Cheatsheet, Day 2
Chapter 3: Control Program Flow for Smart Features (Match-
Case, For Loops)
31. Recap of Yesterday
32. Todo List View and Program Exit
33. Improving the Program Output
34. Code Experiments
35. Bonus Example
36. Bug-Fixing Exercises
37. Programming Tool/Concept of the Day: What Surprisingly
is Python
38. FAQ
39. Cheatsheet, Day 3
Chapter 4: Manipulate Data (List Indexing, Tuples)
40. Recap of Yesterday
41. Add an "Edit" Feature
42. Coding Experiments
43. Bonus Example
44. Bug-Fixing Exercises
45. Programming Tool/Concept of the Day: Text Editors, Code
Editors, IDE, PyCharm
46. FAQ
47. Cheatsheet, Day 4
Chapter 5: Display and Structure Output (Enumeration,
f-strings)
48. Recap of Yesterday
49. Numbered Todos
50. Improving the Program Output
51. Add a "Complete Todo" Feature
52. Good to Know: Q&A
53. Code Experiments
54. Bonus Example
55. Bug-Fixing Exercises
56. FAQ
57. Cheatsheet, Day 5
Chapter 6: Persist Data with Files (Processing Text Files,
Reading/Writing)
58. Recap of Yesterday
59. Storing Items in Text Files
60. Getting Todo Items from Text Files
61. How Data Types are Created
62. Code Experiments
63. Bonus Example
64. Coding Exercise: Adding to Text File
65. Coding Exercise: Generate Multiple Text Files
66. Coding Exercise: Reading Multiple Files
67. Bug-Fixing Exercises
68. Programming Tool/Concept of the Day: Online Python
Communities
69. FAQ
70. Cheatsheet, Day 6
Chapter 7: Optimize and Annotate Your Code (List
Comprehensions, Code Comments)
71. Recap of Yesterday
72. Improving the Program Output
73. Code Experiments
74. Bonus Example
75. Bug-Fixing Exercises
76. Programming Tool/Concept of the Day: Usages of Python in
Real Life
77. FAQ
78. Cheatsheet, Day 7
Chapter 8: Master File Management (Context Managers, With
Statement)
79. Recap of Yesterday
80. Optimising the Code
81. Editing and Completing Todo Items
82. Code Experiments
83. Bonus Example
84. Bug-Fixing Exercises
85. Programming Tool/Concept of the Day: Steps of Creating
and Maintaining a Program
86. FAQ
87. Cheatsheet, Day 8
Chapter 9: Decision Making in Apps (If/Elif/Else,
Dictionaries)
88. Recap of Yesterday
89. Improving the "Add" Feature
90. Optimising the Program
91. Code Experiments
92. Bonus Example
93. Bug-Fixing Exercises
94. Programming Tool/Concept of the Day: High vs. Low Level
Programming Languages
95. FAQ
96. Cheatsheet, Day 9
Chapter 10: Stop Your App from Crashing (Error Handling, Try-
Except)
97. Recap of Yesterday
98. Fixing Two Bugs in the Program
99. Anticipating Program Errors
100. Code Experiments
101. Bonus Example
102. Bug-Fixing Exercises
103. FAQ
104. Cheatsheet, Day 10
Chapter 11: Write Custom Functions to Reduce Code Repetition
(Functions)
105. Recap of Yesterday
106. Avoiding Repetitive Code
107. Code Experiments
108. Bonus Example
109. Bug-Fixing Exercises
110. Programming Tool/Concept of the Day: Python vs. Other
Languages
111. FAQ
112. Cheatsheet, Day 11
Chapter 12: Supercharge Functions with Arguments (Function
Arguments, Defaults)
113. Recap of Yesterday
114. Optimising the Code
115. Optimising the Code Further
116. Code Experiments
117. Bonus Example
118. Bug-Fixing Exercises
119. Programming Tool/Concept of the Day: The Learn-to-
Program Curve
120. FAQ
121. Cheatsheet, Day 12
Chapter 13: Flexible Functions (Default Arguments, Docstrings)
122. Recap of Yesterday
123. Optimising the Code
124. Documenting the Code
125. Code Experiments
126. Bonus Example
127. Bug-Fixing Exercises
128. Programming Tool/Concept of the Day: Python Versions
Explained
129. FAQ
130. Cheatsheet, Day 13
Chapter 14: Modularize for Maintainability (Local Modules)
131. Recap of Yesterday
132. Organising the Code in Modules
133. Code Experiments
134. Bonus Examples
135. Bug-Fixing Exercises
136. Programming Tool/Concept of the Day: What is Version
Control and Git?
137. FAQ
138. Cheatsheet, Day 14
Chapter 15: Built-in Tools & Version Control (Standard
Modules, Git)
139. Recap of Yesterday
140. Add a "Date" Feature
141. Code Experiments
142. Bonus Example
143. Coding Exercise 1
144. Bug-Fixing Exercises
145. Programming Tool/Concept of the Day: Using Git
146. FAQ
147. Cheatsheet, Day 15
Chapter 16: Expand with External Libraries (Third-Party
Modules, GitHub)
148. Recap of Yesterday
149. Difference Between Frontend and Backend
150. Create a Desktop Graphical User Interface (GUI)
151. Code Experiments
152. Bonus Example
153. Coding Exercise 1
154. Bug-Fixing Exercises
155. Programming Tool of the Day: Using Github
156. FAQ
157. Cheatsheet, Day 16
Chapter 17: App 1: Build a Task Manager (Desktop GUI Version)
158. Recap of Yesterday
159. Implementing an "Add Todo" Button
160. Implementing an "Edit" Button
161. Code Experiments
162. Bonus Example
163. Coding Exercise 1
164. Bug-Fixing Exercises
165. Programming Tool/Concept of the Day: Clone a Remote
Github Repository
166. FAQ
167. Cheatsheet, Day 17
Chapter 18: App 1: Build a Task Manager (Desktop GUI- Adding
Advanced Features)
168. Recap of Yesterday
169. Implement "Complete" and "Exit" Buttons
170. Final Touches
171. Code Experiments
172. Bonus Example
173. Coding Exercise 1
174. Bug-Fixing Exercise
175. Programming Tool/Concept of the Day: Creating a
Standalone Executable
176. FAQ
177. Cheatsheet, Day 18
Chapter 19: App 1: Build a Task Manager (Web App Version)
178. Recap of Yesterday
179. Create a Web App
180. Adding New Todo Items on the Web App
181. Completing Todo Items on the Web App
182. Deploying the Web App to the Cloud
183. Code Experiments
184. Bonus Example
185. Coding Exercise 1
186. Programming Tool/Concept of the Day: Web App Deployment
- Deploy to Heroku
187. FAQ
188. Cheatsheet, Day 19
Chapter 20: Summary of Python Basics
189. Today
190. PyCharm Review
191. Objects, Variables, Functions
192. Methods, Lists, Tuples, Dictionaries
193. Code Blocks, f-strings
194. External Files, List Comprehensions
195. Errors, Comments, Modules, Libraries, Web and Desktop
GUIs
196. Programming Tool/Concept of the Day: Using the Command
Line
Chapter 21: App 2: Create a PDF Generator Tool with Python
197. Today
198. Create a Multipage PDF
199. From CSV to PDF
200. Add More Pages to PDF
201. Add Footer
202. Tip: Ranges
203. Student Project: Lined PDF
204. Student Project: Solution
205. Programming Tool/Concept of the Day: PEP 8 Style Guide
Chapter 22: App 3: Build an Email News App (Part 1: Connect to
a News API and Send Emails)
206. Today
207. Programming Tool/Concept of the Day: API Explained
208. URL Requests with Python
209. Getting Data from an API
210. Student Project: Email the API Data
211. Student Project: Solution
Chapter 23: App 3: Build an Email News App (Part 2: App
Refinements)
212. Today
213. Five Program Refinements
214. Download a File from the Web
215. Student Project: Astronomy Image of the Day
216. Student Project: Solution
217. Programming Tool/Concept of the Day: Using
PythonAnywhere PaaS
Chapter 24: App 4: Build an AI Agent with Python and LangChain
218. What we Will Build
219. Installing Libraries and Getting API Keys
220. Loading API Keys
221. Getting AI Responses from Langchain
222. Agent Executing Tools (Python functions)
223. Agent Tools with Function Arguments
224. Adding Tasks to Todoist with the Agent
225. Enabling Agent History
226. Agent Showing Existing Tasks
Chapter 25: App 5: Build a Custom LangChain AI Assistant
227. What We Will Build
228. How an AI Powered App works
229. You First Chatbot - Saying Hello
230. Repeat the Conversation - Building a Chat Loop
231. Prepping the Brain - Loading the AI API key and Setup
232. Using Langchain to get AI Replies
233. Giving Einstein a Personality- System Prompt
234. Keeping the Conversation Going
235. Storing Chat History
236. Using LangChain
237. Building the Gradio Web Interface
238. Getting AI Responses
239. Polishing the App
Chapter 26: App 6: Create a Weather API (Part 1: API Setup &
JSON Serving)
240. Today
241. Programming Tool/Concept of the Day: HTML Tutorial
242. Build a Website with Flask
243. Build a REST API
244. Running Multiple Apps
245. Student Project: Build a Dictionary API (Part 1)
246. Student Project: Solution
Chapter 27: App 6: Create a Weather API (Part 2: Refining the
API Output)
247. Today
248. Programming Tool of the Day: Jupyter Lab Tutorial
249. Pandas In-Depth: Exploring 200 Years of European
Weather Data
250. API that Returns Weather Temperature Data
251. Student Project: Build a Thesaurus API (Part 2)
252. Student Project: Solution
Chapter 28: App 6: Create a Weather API (Part 3: Final Polish
& Testing)
253. Today
254. Programming Tool/Concept of the Day: Data Analysis and
Visualization Theory
255. Show Data Table on the Webpage
256. URL Endpoints for All Data and Annual Data
257. Student Project: Analyze a Wine Tasting Dataset
258. Student Project: Solution
Chapter 29: App 7: Build a Weather Forecast Dashboard (Part 1:
Data & Charts)
259. Today
260. Coding the User Interface
261. Plotting Data Dynamically
262. Student Project: Build a Happiness Data App
263. Student Project: Solution
Chapter 30: App 7: Build a Weather Forecast Dashboard (Part 2:
Filtering and New Features)
264. Today
265. Getting Raw Forecast Data
266. Filtering Forecast Data
267. Add Sky Conditions
268. Student Project: Fix the Weather Forecast App
269. Student Project: Solution
Chapter 31: App 8: Analyze eBooks with Python & NLP (Part 1:
Text Extraction)
270. Today
271. Programming Tool/Concept of the Day: Regular
Expressions (Regex)
272. Get Number of Chapters
273. Extract Certain Sentences
274. Most Common Words
275. Student Project: Regular Expressions
276. Student Project: Solution
Chapter 32: App 8: Analyze eBooks with Python (Part 2:
Sentiment Analysis)
277. Today
278. Most Used Non-Stop Words
279. Most Positive/Negative Chapters
280. Student Project: Visualise Your Mood Across Days
281. Student Project: Solution
282. Programming Tool/Concept of the Day: Applications of
NLP
Chapter 33: App 9: Build a Webcam Motion Alert App (Part 1:
Detect Motion with OpenCV)
283. Today
284. Programming Tool/Concept of the Day: Images from a
Computer Science Perspective
285. Capture Webcam Video
286. Program the Webcam to Detect Moving Objects
287. Trigger Action when the Webcam Detects an Object
288. Student Project: Add Live Timestamp to Webcam Video
289. Student Project: Solution
Chapter 34: App 9: Build a Webcam Motion Alert App (Part 2:
Email Alerting System)
290. Today
291. Extract Images from Webcam Video
292. Send Email with Attachment
293. Send Email Attachment when Webcam Detects an Object
294. Threading in Python
295. Programming Tool/Concept of the Day: Applications of
Image Processing
Chapter 35: App 10: Web Scrape Music Events (Part 1: Fetch &
Parse HTML)
296. Today
297. Programming Tool/Concept of the Day: Web Scraping
298. Scraping a Webpage
299. Extracting Data from the Scraped Content
300. Storing the Extracted Data in Text Files
301. Send Email when New Event is Found on the Website
302. Running the Program Non-Stop
303. Student Project: Scrape Temperature Data
304. Student Project: Solution
Chapter 36: App 10: Web Scrape Music Events (Part 2: Clean &
Store the Data)
305. Today
306. Programming Tool/Concept of the Day: SQL Databases
307. Select, Add, and Delete SQL Data
308. Storing the App Data in an SQL Database
309. Student Project: Store Temperature Data in SQL Database
310. Student Project: Solution
Chapter 37: Introduction to Object-Oriented Programming (OOP)
311. Today
312. Classes and Object Oriented Programming
313. Class init and self
314. Student Project
315. Student Project: Solution
Chapter 38: App 11: Hotel Booking System with OOP (Part 1:
Classes & Reservation)
316. Today
317. Programming Tool/Concept of the Day: Class vs Instance
318. Planning the App in OOP Style
319. Code the Classes
320. Create Instances
321. Implement the Methods of the Hotel Class
322. Implement the Methods of the Reservation Ticket Class
323. Student Project
324. Student Project: Solution
Chapter 39: App 11: Hotel Booking System with OOP (Part 2:
Class Inheritance and Payments)
325. Today
326. Credit Card Feature
327. Secure Credit Card Feature
328. Overwriting Parent Methods
329. Student Project - Spa Hotel Class
330. Student Project: Solution
Chapter 40: App 11: Hotel Booking System with OOP (Part 3:
Various Method Types)
331. Today
332. Instance Variables Vs. Class Variables
333. Instance Methods Vs. Class Methods
334. Properties
335. Static Methods
336. Magic Methods
337. Abstract Classes and Abstract Methods
Chapter 41: App 12: Code Review: The Mario Game in OOP Style
338. Today
339. Programming Tool of the Day - Collaborating
340. Setting up the Project Locally
341. Inspecting the Project Structure
342. Inspecting the Code
Chapter 42: App 13: Student Management System with SQLite
(Part 1: GUI Setup)
343. Today
344. Project Requirements
345. Sketching a Prototype
346. Introduction to PyQt6 GUIs
347. Student Project - Speed Calculator GUI
348. Solution
Chapter 43: App 13: Student Management System with SQLite
(Part 2: CRUD Operations)
349. Today
350. Add a Menu Bar to the GUI
351. Creating a Table Structure
352. Populate SQL Table with Data
353. Inserting New Database Records
354. Student Project - Implement the Search Functionality
355. Solution
Chapter 44: App 13: Student Management System with SQLite
(Part 3: Connect GUI to SQL)
356. Today
357. Add a Toolbar
358. Add a Status Bar
359. Create an Edit Dialog
360. Create a Delete Dialog
361. Create an About Dialog
362. Programming Skill of the Day - Code Refactoring
Chapter 45: App 14: Build a Student Database with MySQL
363. Today
364. MySQL vs SQLite
365. Installing MySQL on Windows
366. Installing MySQL on Mac
367. Installing MySQL on Linux
368. Programming Skill of the Day - MySQL Command Line
Tutorial
369. Implement MySQL in Python
Chapter 46: App 15: Web Automation with Selenium in a GUI
370. Today
371. Installing the Tools
372. Automating Website Login
373. Automating Form Filling and Submission on Website
374. Automating File Downloading
375. Refactoring the Code to OOP (Optional)
376. Building a Desktop GUI for the Web Automtion Tool
(Optional)
Chapter 47: App 16: Flask Web App (Part 1: App Frontend)
377. Today
378. Creating the App Structure
379. Connecting the Python Backend to the HTML Part
380. Building the Form
381. Bootstrap Style
Chapter 48: App 16: Flask Web App (Part 2: App Backend)
382. Today
383. Getting the User Data
384. Creating a Database
385. Storing the User Data in the Database
386. Showing Submission Notification
387. Sending a Confirmation Email
Chapter 49: App 17: Django Web App (Part 1: Setup & Models)
388. Today
389. Setting up a Django Project and an App
390. Setting up Database Models
391. Creating a View and a Template
Chapter 50: App 17: Django Web App (Part 2: Forms, Database,
and Emailing)
392. Today
393. Code the HTML of the Application Form
394. Creating a Form Model
395. Store the Data in the Database
396. Send an Email with Django
Chapter 51: App 17: Django Web App (Part 3: Admin Panel &
Final Features)
397. Today
398. Creating an Admin Interface
399. Customizing the Admin Interface
400. Creating a Base Template
401. Adding the Navigation Bar
Chapter 52: App 18: Food Ordering App with Django (Part 1:
Setting Up)
402. Today
403. Creating the App QR Code
404. Setup a Django Project and App
405. Creating the Database Model
Chapter 53: App 18: Food Ordering App with Django (Part 2:
Class-Based Views and Context)
406. Today
407. Creating Class-Based Views
408. Context in Django
Chapter 54: App 18: Food Ordering App with Django (Part 3:
Admin Interface and Bootstrap)
409. Today
410. Creating an Admin Interface and Adding Data
411. Jinja For Loops
412. Jinja If Conditionals
413. Adding Dynamic Links
414. Adding Bootstrap
Chapter 55: App 19: Build a Movie Recommendation System (Part
1: Exploring the Dataset)
415. Today
416. Three Types of Recommendation Systems
417. The Movies Dataset
418. Project Setup on Deepnote
419. Popularity-Based Recommendation Model
Chapter 56: App 19: Build a Movie Recommendation System (Part
2: ML Deep Down)
420. Today
421. Term Frequency and Inverse Document Frequency
422. Similarity Matrix
423. Extracting Most Similar Movies
424. Collaborative Filtering with Machine Learning
425. Training and Using the Model to Predict
Chapter 57: App 20: Build and Publish a Python Package
426. Today
427. Description of the Package
428. Preparing the Code of the Package
429. Testing the Package
430. Uploading the Package to PyPi
431. Bonus Lecture
DATES
Published : 2016-06-08
Last Updated : 2026-01-21
If you fear the truth, don?t come to my well.