The Python Mega Course: Learn Python in 40 Days with 20 Apps

The Python Mega Course: Learn Python in 40 Days with 20 Apps

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 366 lectures (39h 24m) | 10.34 GB

2022 Redone! Take the full course to become a Python programmer, or pick any project to master specific areas of Python.

An updated modern course

The course was updated on November 4th, 2022, entirely. The new content is a significant improvement to the old course, with a better course structure, more real-world apps, and using the latest version of Python and other recent programming tools. The course assumes you have never programmed before and teaches Python from zero.

Multimodal learning

This is the only course that follows a multimodal learning approach that offers students both a video course and an environment that simulates real-world programming activities similar to a real bootcamp. Students learn Python by building programs from scratch, adding new features to existing programs, improving existing features, fixing bugs, engaging in code experiments, learning programming tools that every programmer should know, deploying apps in the cloud, and engaging with other fellow students. Your skill set will build up progressively and strongly while you also build your programming portfolio to list and showcase all your Python projects.

A course for absolute beginners

This is the right course for you if you have never programmed before. This course covers every Python concept using real-world examples, so you understand both Python language and the logic behind programming. From the very basics to the very advanced features such as threading, everything is introduced in the context of a real-world app that you will build. That will make abstract programming concepts easy to understand.

Instructor-led projects and independent student projects

You will be building programs every day as your skills grow. Every day you will create programs led by your instructor, followed by projects you will code on your own to bulletproof your skills. Finally, you will be able to compare your code with that given by the instructor at the end of the day to fill in any gaps.

Changing careers or building apps

Whether you want to change your career to a Python programmer or turn an idea into a real app, this course has your back. You can take the entire course to become a programmer or pick the projects that interest you if you only want to build a particular app. You will also learn Git and GitHub so you can create a portfolio of 18 Python apps on your GitHub account to show to potential employers or friends.

From data science to web development

The course covers a wide range of applications, from rich data science web apps that analyze and visualize large amounts of data to building web applications using Python web frameworks such as Streamlit, Flask, and Django. Other aspects of Python, such as automating tedious tasks, are also covered, ranging from generating PDF invoices to automating emails. This course has it all.

Learn on your schedule

The curriculum encourages you to work on the course by studying 2-5 hours every day, but you can also do multiple-day modules during the weekend or whenever it suits you. In addition, you will have unlimited access to all the videos and practice activities. If you take this course seriously, this is better than a 10,000-dollar boot camp.

What you’ll learn

  • You will learn Python basics, build GUIs, web apps, APIs, data science, OOP, web scraping, and more.
  • You will easily learn programming concepts through real-world examples.
  • You will build 11 big Python applications and solve 9 projects.
  • You will build a portfolio website to showcase your 20 apps.
  • You will learn Git, GitHub, deployment, SQL, HTML, Figma, venv, debugging, and more.
  • You will get help from the instructor and the teaching assistant when you get stuck.
  • You can chat with fellow students in the course chat forum.
  • You will get a certificate of completion to show to potential employers.
Table of Contents

Day 1 – App 1️⃣ (Todo List App) #print #variables #functions #lists
1 ▶️ Course Introduction
2 The 20 Python Applications
3 ▶️ The Four Types of Computer Programs
4 ▶️ Today’s Goals
5 ▶️ Installing Python and PyCharm
6 ▶️ Create and Run Your First Python Program #print #strings
7 ▶️ Getting User Input #input #variables
8 ▶️ Storing User Input #lists
9 ⚛️ Coding Experiments
10 ⭐️ Bonus Example
11 ✏️ Coding Exercises
12 ❗️Good to Know #fixing-bugs
13 ✔️ Bug-Fixing Exercises
14 ⚙️ Programming ToolConcept of the Day The Python Console
15 ❓ FAQ
16 ◼️ Cheat Sheet
17 ❗️Congratulations!

Day 2 – App 1️⃣ (Todo List App) #while-loop #methods
18 ⬅️ Recap of Yesterday
19 ▶️ Getting User Input Repeatedly #while-loop
20 ❗️ Good to Know #pycharm-theme
21 ▶️ Storing User Input Repeatedly #methods
22 ⚛️ Coding Experiments
23 ⭐️ Bonus Example
24 ✏️ Coding Exercises
25 ✔️ Bug-Fixing Exercises
26 ⚙️ Programming ToolConcept of the Day How to Find the Code You Need
27 ❓ FAQ
28 ◼️ Cheat Sheet

Day 3 – App 1️⃣ (Todo List App) #match-case #for-loops
29 ⬅️ Recap of Yesterday
30 ▶️ Todo List View and Program Exit #match-case
31 ▶️ Improving the Program Output #for-loops
32 ❗️Good to Know #discord
33 ⚛️ Code Experiments
34 ⭐️ Bonus Example
35 ✏️ Coding Exercises
36 ✔️ Bug-Fixing Exercises
37 ⚙️ Programming ToolConcept of the Day What Surprisingly is Python
38 ❓FAQ
39 ◼️ Cheat Sheet

Day 4 – App 1️⃣ (Todo List App) #type-conversion #list-indices #tuples
40 ⬅️ Recap of Yesterday
41 ▶️ Add an Edit Feature #type-conversion #list-indexing
42 ⚛️ Coding Experiments
43 ⭐️ Bonus Example #tuples
44 ✏️ Coding Exercises
45 ✔️ Bug-Fixing Exercises
46 ⚙️ Programming ToolConcep of the Day Text Editors, Code Editors, IDE, PyCharm
47 ❓ FAQ
48 ◼️ Cheat Sheet

Day 5 – App 1️⃣ (Todo List App) #enumerate #f-strings
49 ⬅️ Recap of Yesterday
50 ▶️ Numbered Todos #enumerate
51 ▶️ Improving the Program Output ▶️ #f-strings #formatting-strings
52 ▶️ Add a Complete Todo Feature
53 ❗️Good to Know #Q&A
54 ⚛️ Code Experiments
55 ⭐️ Bonus Example
56 ✏️ Coding Exercises
57 ✔️ Bug-Fixing Exercises
58 ⚙️ Programming ToolConcept of the Day How to Ask Good Programming Questions
59 ❓ FAQ
60 ◼️ Cheat Sheet

Day 6 -App 1️⃣ (Todo List App) #text-files #text-files #file-paths
61 ⬅️ Recap of Yesterday
62 ▶️ Storing Items in Text Files #text-files #read #write #writelines #readlines
63 ▶️ Getting Todo Items from Text Files #read-text-files
64 ▶️ How Data Types are Created #types
65 ⚛️ Code Experiments #zip()
66 ⭐️ Bonus Example
67 ✏️ Coding Exercises
68 ✔️ Bug-Fixing Exercises
69 ⚙️ Programming ToolConcept of the Day Online Python Communities
70 ❓ FAQ
71 ◼️ Cheat Sheet

Day 7 -App 1️⃣ (Todo List App) #list-comprehensions #comments
72 ⬅️ Recap of Yesterday
73 ▶️ Improving the Program Output #list-comprehensions
74 ⚛️ Code Experiments
75 ⭐️ Bonus Example
76 ✏️ Coding Exercises
77 ✔️ Bug-Fixing Exercises
78 ⚙️ Programming ToolConcept of the Day Usages of Python in Real Life
79 ❓ FAQ
80 ◼️ Cheat Sheet

Day 8 -App 1️⃣ (Todo List App) #with-context-manager
81 ⬅️ Recap of Yesterday
82 ▶️ Optimising the Code #with-context-manager
83 ▶️ Editing and Completing Todo Items #with-context-manager
84 ⚛️ Code Experiments
85 ⭐️ Bonus Example
86 ✏️ Coding Exercise
87 ✔️ Bug-Fixing Exercises
88 Programming ToolConcept of the Day Steps of Creating and Maintaining a Program
89 ❓ FAQ
90 ◼️ Cheat Sheet

Day 9, App 1️⃣ (Todo List App) #if #elif #else #slicing #dictionaries
91 ⬅️ Recap of Yesterday
92 ▶️ Improving the Add Feature #if-conditionals #slicing
93 ▶️ Optimising the Program #elif #else
94 ⚛️ Code Experiments
95 ⭐️ Bonus Example
96 ✏️ Coding Exercises
97 ✔️ Bug-Fixing Exercises
98 ⚙️ Programming ToolConcept of the Day High vs. Low Level Programming Languages
99 ❓ FAQ
100 Cheat Sheet

Day 10 App 1️⃣ (Todo List App) #try-except #continue #exceptions
101 ⬅️ Recap of Yesterday
102 ▶️ Fixing Two Bugs in the Program #bugs
103 ▶️ Anticipating Program Errors #try-except #continue
104 ⚛️ Code Experiments
105 ⭐️ Bonus Example
106 ✏️ Coding Exercises
107 ✔️ Bug-Fixing Exercises
108 ⚙️ Programming ToolConcept of the Day Cloud IDEs
109 ❓ FAQ
110 ◼️ Cheat Sheet

Day 11 – App 1️⃣ (Todo List App) #custom-functions
111 ⬅️ Recap of Yesterday
112 ▶️ Avoiding Repetitive Code #custom-functions
113 ⚛️ Code Experiments
114 ⭐️ Bonus Example
115 ✏️ Coding Exercises
116 ✔️ Bug-Fixing Exercises
117 ⚙️ Programming ToolConcept of the Day Python vs. Other Languages
118 ❓ FAQ
119 ◼️ Cheat Sheet

Day 12 – App 1️⃣ (Todo List App) #arguments #multiple-arguments #decoupling-output
120 ⬅️ Recap of Yesterday
121 ▶️ Optimising the Code #function-arguments
122 ▶️ Optimising the Code Further #multiple-arguments
123 ⚛️ Code Experiments
124 ⭐️ Bonus Example
125 ✏️ Coding Exercises
126 ✔️ Bug-Fixing Exercises
127 ⚙️ Programming ToolConcept of the Day The Learn-to-Program Curve
128 ❓ FAQ
129 ◼️ Cheat Sheet

Day 13 – App 1️⃣ (Todo List App) #default-arg #doc-strings #decouple-functions
130 ⬅️ Recap of Yesterday
131 ▶️ Optimising the Code #default-arguments
132 ▶️ Documenting the Code #doc-strings
133 ⚛️ Code Experiments
134 ⭐️ Bonus Example
135 ✏️ Coding Exercises
136 ✔️ Bug-Fixing Exercises
137 ⚙️ Programming ToolConcept of the Day Python Versions Explained
138 ❓ FAQ
139 ◼️ Cheat Sheet

Day 14 – App 1️⃣ (Todo List App) #local-modules #import
140 ⬅️ Recap of Yesterday
141 ▶️ Organising the Code in Modules #modules #import
142 ▶️ Anatomy of Python
143 ⚛️ Code Experiments
144 ⭐️ Bonus Examples
145 ✏️ Coding Exercises
146 ✔️ Bug-Fixing Exercises
147 ⚙️ Programming ToolConcept of the Day What is Version Control and Git #git
148 ❓ FAQ
149 ◼️ Cheat Sheet

Day 15 – App 1️⃣ (Todo List App) #standard-modules #import #git-introduction
150 ⬅️ Recap of Yesterday
151 ▶️ Add a Date Feature #standard-modules #time #constants #if-name-equal-main
152 ⚛️ Code Experiments
153 ⭐️ Bonus Example
154 ✏️ Coding Exercises
155 ✔️ Bug-Fixing Exercises
156 ⚙️ Programming ToolConcept of the Day Using Git #git #commit #checkout #reset
157 ❓ FAQ
158 ◼️ Cheat Sheet

Day 16 – App 1️⃣ (Todo List App – Desktop GUI) #third-party-modules #gui #github
159 ⬅️ Recap of Yesterday
160 ▶️ Difference Between Frontend and Backend #frontend #backend
161 ▶️ Create a Desktop Graphical User Interface (GUI) #desktop-gui #pysimplegui
162 ⚛️ Code Experiments
163 ⭐️ Bonus Example
164 ✏️ Coding Exercises
165 ✔️ Bug-Fixing Exercises
166 ⚙️ Programming Tool of the Day Using Github #github
167 ❓ FAQ
168 ◼️ Cheat Sheet

Day 17 – App 1️⃣ (Todo List App – Desktop GUI) #gui-buttons #gui-text-boxes
169 ⬅️ Recap of Yesterday
170 ▶️ Implementing an Add Todo Button #gui-buttons
171 ▶️ Implementing an Edit Button #gui-buttons
172 ⚛️ Code Experiments
173 ⭐️ Bonus Example
174 ✏️ Coding Exercises
175 ✔️ Bug-Fixing Exercises
176 Programming ToolConcept of the Day Clone a Remote Github Repository #git-clone
177 ❓ FAQ
178 ◼️ Cheat Sheet

Day 18 – App 1️⃣ (Todo List App – Desktop GUI) #gui-styles
179 ⬅️ Recap of Yesterday
180 ▶️ Implement Complete and Exit Buttons #gui-buttons
181 ▶️ Final Touches
182 ⚛️ Code Experiments
183 ⭐️ Bonus Example
184 ✏️ Coding Exercises
185 ✔️ Bug-Fixing Exercise
186 ⚙️ Programming ToolConcept of the Day Creating a Standalone Executable
187 ❓ FAQ
188 ◼️ Cheat Sheet

Day 19 – App 1️⃣ (Todo List App – Web App) #web-apps #streamlit #heroku-deploy
189 ⬅️ Recap of Yesterday
190 ▶️ Create a Web App #streamlit #title #subheader #checkbox
191 ▶️ Adding New Todo Items on the Web App
192 ▶️ Completing Todo Items on the Web App
193 ▶️ Deploying the Web App to the Cloud
194 ⚛️ Code Experiments
195 ⭐️ Bonus Example
196 ✏️ Coding Exercises
197 ✔️ Bug-Fixing Exercises
198 ⚙️Programming ToolConcept of the Day Web App Deployment – Deploy to Heroku
199 ❓FAQ
200 ◼️ Cheat Sheet

Day 20 – Summary Day #summary #python-basics
201 ▶️ Today
202 ▶️ PyCharm Review
203 ▶️ Objects, Variables, Functions
204 ▶️ Methods, Lists, Tuples, Dictionaries
205 ▶️ Code Blocks, f-strings
206 ▶️ External Files, List Comprehensions
207 ▶️ Errors, Comments, Modules, Libraries, Web and Desktop GUIs
208 ⚙️ Programming ToolConcept of the Day Using the Command Line

Day 21 – App 2️⃣ (Portfolio Website) #streamlit
209 ▶️ Today
210 ▶️ Learning Approach from Now On
211 ⚙️ Programming ToolConcept of the Day Prototyping with Figma
212 ▶️ Designing the App
213 ▶️ Setting up the PyCharm Project and Git
214 ▶️ The App Data Source
215 ▶️ Create a Multi-Column Webpage
216 ✎ Student Project Add Content to the Website
217 ✐ Student Project Solution

Day 22 – App 2️⃣ (Portfolio Website) #pandas
218 ▶️ Today
219 ▶️ Add Thumbnail Titles to the Webpage
220 ▶️ Add Descriptions, Images, and Links to the Webpage
221 ✎ Student Project Create a Company Website
222 ✐ Student Project Solution
223 ⚙️ Programming ToolConcept of the Day Coding without an IDE

Day 23 – App 2️⃣ (Portfolio Website) #email
224 ▶️ Today
225 ▶️ Multipage Web Apps
226 ▶️ Webforms
227 ▶️ Send Email
228 ▶️ Send Email Via the Web Form
229 ✎ Student Project Contact Us Email Form
230 ✐ Student Project Solution
231 ⚙️Programming ToolConcept of the Day Secure Passwords in Environment Variables

Day 24 – App 3️⃣ (PDF Generation) #pdf #pandas
232 ▶️ Today
233 ▶️ Create a Multipage PDF
234 ▶️ From CSV to PDF #pandas
235 ▶️ Add More Pages to PDF
236 ▶️ Add Footer
237 Tip Ranges
238 ✎ Student Project Lined PDF
239 ✐ Student Project Solution
240 ⚙️ Programming ToolConcept of the Day PEP 8 Style Guide

Day 25 – App 4️⃣ (Excel Invoices to PDF) #excel #pdf
241 ▶️ Today
242 ▶️ Setting up the Project
243 ▶️ Load a Data from Excel to Python
244 ▶️ Create a PDF for Each Excel File
245 ✎ Student Project From Text Files to PDF
246 ✐ Student Project Solution
247 ⚙️ Programming ToolConcept of the Day Zen of Python

Day 26 – App 4️⃣ (Excel Invoices to PDF)
248 ▶️ Today
249 ▶️ Add Date to PDF
250 ▶️ Add Table from Excel to PDF
251 ▶️ Add Table Header and Total Price
252 ▶️ Multicells
253 ✎ Student Project Adding Multiline Text to PDF
254 ✐ Student Project Solution
255 ⚙️ Programming ToolConcept of the Day Using the PyCharm Debugger

Day 27 – App 5️⃣ (Email News) #api #email
256 ▶️ Today
257 ⚙️ Programming ToolConcept of the Day API Explained
258 ▶️ URL Requests with Python
259 ▶️ Getting Data from an API
260 ✎ Student Project Email the API Data
261 ✐ Student Project Solution

Day 28 – App 5️⃣ (Email News) #schedule-task
262 ▶️ Today
263 ▶️ Five Program Refinements
264 ▶️ Download a File from the Web
265 ✎ Student Project Astronomy Image of the Day
266 ✐ Student Project Solution
267 ⚙️ Programming ToolConcept of the Day Using PythonAnywhere PaaS

Day 29 – App 6️⃣ (Weather API) #api #html #flask
268 ▶️ Today
269 ⚙️ Programming ToolConcept of the Day HTML Tutorial
270 tutorial
271 ▶️ Build a Website with Flask
272 ▶️ Build a REST API
273 ▶️ Running Multiple Apps
274 ✎ Student Project Build a Thesaurus API (Part 1)
275 ✐ Student Project Solution

Day 30 – App 6️⃣ (Weather API) #data-analysis #jupyter-lab
276 ▶️ Today
277 ⚙️ Programming Tool of the Day Jupyter Lab Tutorial
278 ▶️ Pandas In-Depth Exploring 200-years of European Weather Data
279 ▶️ API that Returns Weather Temperature Data
280 ✎ Student Project Build a Thesaurus API (Part 2)
281 ✐ Student Project Solution

Day 31 – App 6️⃣ (Weather API) #advanced-api
282 ▶️ Today
283 ⚙️ Programming ToolConcept of the Day Data Analysis and Visualization Theory
284 ▶️ Show Data Table on the Webpage
285 ▶️ URL Endpoints for All Data and Annual Data
286 ✎ Student Project Analyze a Wine Tasting Dataset
287 ✐ Student Project Solution

Day 32 – App 7️⃣ (Weather Forecast Web App) #streamlit #interactive
288 ▶️ Today
289 ▶️ Coding the User Interface
290 ▶️ Plotting Data Dynamically
291 ✎ Student Project Build a Happiness Data App
292 ✐ Student Project Solution

Day 33 – App 7️⃣ (Weather Forecast Web App) #data-visualization #plotting #plotly
293 ▶️ Today
294 ▶️ Getting Raw Forecast Data
295 ▶️ Filtering Forecast Data
296 ▶️ Add Sky Conditions
297 ✎ Student Project Fix the Weather Forecast App
298 ✐ Student Project Solution

Day 34 – App 8️⃣ (Book Sentiment Analysis) #regex
299 ▶️ Today
300 ⚙️ Programming ToolConcept of the Day Regular Expressions (Regex)
301 ▶️ Get Number of Chapters
302 ▶️ Extract Certain Sentences
303 ▶️ Most Common Words
304 ✎ Student Project Regular Expressions
305 ✐ Student Project Solution

Day 35 – App 8️⃣ (Book Sentiment Analysis) #natural-language-processing #nlp
306 ▶️ Today
307 ▶️ Most Used Non-Stop Words
308 ▶️ Most PositiveNegative Chapters
309 ✎ Student Project Visualise Your Mood Across Days
310 ✐ Student Project Solution
311 ⚙️ Programming ToolConcept of the Day Applications of NLP

Day 36 – App 9️⃣ (Email Webcam Object Detection) #opencv
312 ▶️ Today
313 ⚙Programming ToolConcept of the Day Images from a Computer Science Perspective
314 ▶️ Capture Webcam Video
315 ▶️ Program the Webcam to Detect Moving Objects
316 ▶️ Trigger Action when the Webcam Detects an Object
317 ✎ Student Project Add Live Timestamp to Webcam Video
318 ✐ Student Project Solution

Day 37 – App 9️⃣ (Email Webcam Object Detection) #email
319 ▶️ Today
320 ▶️ Extract Images from Webcam Video
321 ▶️ Send Email with Attachment
322 ▶️ Send Email Attachment when Webcam Detects an Object
323 ▶️ Threading in Python
324 ⚙️ Programming ToolConcept of the Day Applications of Image Processing

Day 38 – App 1️⃣0️⃣ (Web Scraping Musical Events) #requests #selectorlib
325 ▶️ Today
326 ⚙️ Programming ToolConcept of the Day Web Scraping
327 ▶️ Scraping a Webpage
328 ▶️ Extracting Data from the Scraped Content
329 ▶️ Storing the Extracted Data in Text Files
330 ▶️ Send Email when New Event is Found on the Website
331 ▶️ Running the Program Non-Stop
332 ✎ Student Project Scrape Temperature Data
333 ✐ Student Project Solution

Day 39 – App 1️⃣0️⃣ (Web Scraping Musical Events) #sql-databases
334 ▶️ Today
335 ⚙️ Programming ToolConcept of the Day SQL Databases
336 ▶️ Select, Add, and Delete SQL Data
337 ▶️ Storing the App Data in an SQL Database
338 ✎ Student Project Store Temperature Data in SQL Database
339 ✐ Student Project Solution

Day 40 Object Oriented Programming #classes #oop
340 ▶️ Today
341 ▶️ Classes and Object Oriented Programming #classes #oop
342 ▶️ Class init and self
343 ✎ Student Project
344 ✐ Student Project Solution

Day 41 – App 1️⃣1️⃣ (Hotel Booking App) #classes #oop
345 ▶️ Today
346 ⚙️ Programming ToolConcept of the Day Class vs Instance
347 ▶️ Planning the App in OOP Style
348 ▶️ Code the Classes
349 ▶️ Create Instances
350 ▶️ Implement the Methods of the Hotel Class
351 ▶️ Implement the Methods of the Reservation Ticket Class
352 ✎ Student Project
353 ✐ Student Project Solution

Day 42 – App 1️⃣1️⃣ (Hotel Booking App) #classes #oop
354 ▶️ Today
355 ▶️ Credit Card feature #extending #new-feature
356 ▶️ Secure Credit Card feature #inheritance #new-feature
357 ▶️ Overwriting Parent Methods
358 ✎ Student Project – Spa Hotel Class
359 ✐ Student Project Solution

Day 43 – App 1️⃣1️⃣ (Hotel Booking App) #classes-advanced #oop-advanced
360 ▶️ Today
361 ▶️ Instance Variables Vs. Class Variables
362 ▶️ Instance Methods Vs. Class Methods
363 ▶️ Properties
364 ▶️ Static Methods
365 ▶️ Magic Methods
366 ▶️ Abstract Classes and Abstract Methods
367 ❗️ Upcoming Apps

Homepage