Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
The Ultimate Python Bootcamp: Learn by Building 50 Projects
Rating: 4.5 out of 5(2,425 ratings)
16,688 students

The Ultimate Python Bootcamp: Learn by Building 50 Projects

Only Python course that you need
Last updated 11/2025
English

What you'll learn

  • Understand and apply Python fundamentals including variables, data types, loops, and functions
  • Handle exceptions and write clean, maintainable code using context managers
  • Build real-world mini-projects while learning key Python modules and practices
  • Explore object-oriented programming, decorators, iterators and more

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

19 sections153 lectures30h 25m total length
  • Course Introduction11:17

    Welcome to Python: 100 Days, 100 Projects - the only Python course that you will need. Learn by building real-world projects every single day and transform from a beginner to a confident Python developer.

  • Meet your Instructor - Hitesh5:24

    In this "Meet Your Instructor" video, Hitesh introduces himself, aiming to build a personal connection and instill confidence in his Python course. Despite his engineering background in Electronics and Communications (not Computer Science), he emphasizes that anyone can learn to code, highlighting his own journey from cybersecurity Python to iOS development, then web development, databases, JavaScript, and back to Python-based development. Hitesh is also a successful entrepreneur, having built and sold two startups in "big deals," and currently runs two more, one serving "around 22 million users," demonstrating expertise in scaling and delivering "great quality softwares."

    Beyond his professional achievements, Hitesh is a dedicated educator, running two YouTube channels with significant subscriber counts. His teaching philosophy revolves around simplifying complex topics and uses unique approaches like "first-principle learning" and his self-termed "investigative learning," where students are encouraged to question every line of code and investigate concepts deeply. He promises a "laid-back style" with "ups and downs on voices" and "storytelling," emphasizing that learning is a marathon, not a race. Hitesh encourages active engagement via LinkedIn and Twitter for doubts and suggestions, even running reward programs for course completion.

  • Course Diagrams0:05
  • What is Programming..?9:01

    This introductory video for the Udemy Python course outlines the tools and foundational concepts of programming. The instructor, Hitesh, emphasizes focusing on the screen, primarily using VS Code as the code editor and "Eraser" (akin to Tldraw or Excalidraw) as a digital "blackboard" for visual explanations and diagrams. He defines programming as providing precise, understandable instructions to a computer, stressing that even AI models are "fancy word completions" that require explicit direction.

    To demystify the programming process, a relatable analogy of making tea is introduced. This involves: gathering ingredients (representing data collection), checking conditions (like having enough water or clean cups), and then executing a sequence of thorough steps (e.g., boiling water, adding ingredients, stirring, serving). This analogy serves as a blueprint for the three core components of programming taught throughout the course.

    Hitesh addresses the common perception of coding as hard, stating it's not "super easy" but is "surely doable," particularly with beginner-friendly languages like Python. He stresses that mastering coding takes time and effort, but writing simple code is accessible within months. The real challenge lies in developing a programmer's "thought process" – breaking down complex problems into manageable steps. The next video promises to transform the tea-making analogy into pseudo-Python code, making the language approachable for absolute beginners.

  • Convert that into Python Code8:05

    This video transitions from the conceptual tea-making analogy to practical Python code within the VS Code editor. The instructor demonstrates setting up the environment, including a custom "chai theme" and essential Python extensions like Pylance for enhanced readability and type hinting. The core concept of a function, described as a "box" for encapsulating instructions, is introduced with the def keyword, defining a make_chai function.

    A critical aspect of Python's syntax – indentation (specifically four spaces) – is highlighted as fundamental for code structure. The pseudo-code demonstrates conditional logic with an if not statement (if not kettle_has_water: fill_kettle()), emphasizing how Python reads intuitively like English. Subsequent lines represent actions like plug_in_kettle() and boil_water(), further illustrating how complex processes are broken down into simpler, callable functions.

    The instructor then shows how to "call" the main make_chai function to execute the entire sequence. The key takeaway for beginners is the visual similarity between the natural language steps and the resulting Python code, reinforcing the idea that Python programming is accessible and understandable. The objective is to build initial confidence by demonstrating that writing and reading basic Python code is straightforward.

  • A Real World Python Code Intro12:43

    This video further introduces fundamental Python programming concepts: objects, properties, methods, and classes, building upon the ongoing tea-making analogy. It clarifies that functions (like fill_kettle()) are often referred to as methods when part of a larger structure. The concept of a class is introduced as a "factory" or blueprint, encapsulating related methods and properties. For example, a Chai class acts as a blueprint for creating tea.

    Within a class, the def __init__(self, ...) method is explained as the initialization step for the "factory," setting up initial properties like sweetness and milk_level. The self keyword is briefly introduced as a crucial element in class and method definitions. When an instance of a class is created (e.g., my_chai = Chai(3, 2)), it forms an object which can then perform actions by calling its methods (e.g., my_chai.add_sugar(5)). This demonstrates how objects interact with their encapsulated functionalities.

    The instructor emphasizes that while the code might seem complex initially, Python's readability makes these concepts approachable, often mimicking natural English. The goal is to provide beginners with a foundational "taste" of Python's object-oriented structure, fostering confidence and making future learning of complex Python code less daunting. The video serves as an experiential introduction, encouraging familiarity rather than immediate mastery.

  • Why to use Python4:04

    This video outlines compelling reasons to learn Python, starting with its renowned ease of learning and portability across diverse operating systems like Windows, Mac, and Linux. The instructor emphasizes Python's exceptional readability, making its code intuitive and predictable, which significantly boosts developer productivity compared to more verbose languages. A major draw is Python's extensive Standard Library (STL) and the vibrant open-source community, which provide a wealth of pre-written, commercially usable code and tools, making it exceptionally powerful for complex tasks, especially in data science and machine learning.

    Beyond its core strengths, Python is lauded for its multi-use flexibility. It's not confined to just data science; it's widely used for web app development (including full-stack applications), automation, data manipulation (like with CSVs), and AI/ML. The instructor shares his most cherished reason: the "Chai level happiness" derived from writing Python code, promising to share personal tricks and reusable scripts. Students are encouraged to share their own reasons for learning Python on Twitter, fostering community engagement.

  • Writing first Python code on MAC10:41

    This video provides a practical guide to installing Python on a Mac and executing Python programs. It outlines two primary methods for running Python code: directly in the terminal shell (temporary interactions) or by saving code in .py files, which allows for reusability. The instructor emphasizes the simplicity of Python installation by downloading the appropriate installer from python.org, compatible with various operating systems including Mac, Windows, and Linux.

    To verify the installation, users are shown how to check the Python version in their terminal (e.g., python3 --version on Mac) and how to enter the interactive Python shell by simply typing python3. The video then introduces VS Code as the recommended code editor, highlighting its integrated terminal, auto-suggestion features (enabled by Python extensions like Pylance), and customizable themes (like the "Chai theme"). Users learn to create a project folder and a .py file within VS Code, write a basic Python script (e.g., import sys; print(sys.version)), and execute it directly from VS Code's integrated terminal using python3 <filename.py>. This hands-on segment aims to quickly familiarize beginners with writing and running fundamental Python code, reinforcing the language's accessibility.

  • Writing first Python code on WINDOWS7:53

    This video guides users through the installation and execution of Python programs specifically on Windows, highlighting the language's strong compatibility across operating systems. Similar to Mac, Python code can be run either interactively within a shell (like Command Prompt or PowerShell) or, preferably, by saving it in .py files for reusability.

    The Python installation process on Windows is straightforward: download the latest version from python.org and crucially select the "Add Python to PATH" option during setup for easy command-line access. After installation, users can verify it in their chosen terminal (e.g., Warp, recommended by the instructor) by typing python --version and can enter the interactive Python shell by simply typing python.

    For writing and managing code, VS Code is introduced as the preferred code editor. Users learn to create a project folder, then a .py file (e.g., test_python.py), and input basic Python code like import sys; print(sys.version). The video demonstrates running this script directly from VS Code's integrated terminal, confirming its functionality. This seamless experience across Windows and other platforms underscores Python's high portability, establishing a solid foundation for further programming in the course.

  • Get everything in Virtual Environment12:15

    This video introduces the crucial concept of Python virtual environments, explaining their necessity for effective Python development. Virtual environments prevent dependency version conflicts on the main operating system and ensure project portability by creating isolated environments for each application. This means each project gets its "own Python," with its specific dependencies installed locally, preventing interference with other projects or the global Python installation.

    The traditional method for creating a virtual environment is demonstrated using python3 -m venv <folder_name> (commonly .venv). Once created, the environment must be activated using platform-specific commands (e.g., source .venv/bin/activate on Mac, .\venv\Scripts\activate on Windows). Within an activated virtual environment, third-party modules are installed using pip install <module_name>. A standard practice for managing project dependencies is to list them, often with specific versions, in a requirements.txt file, which can then be installed in bulk using pip install -r requirements.txt. This approach ensures that projects can be easily replicated and shared, as only the Python code and the requirements.txt file need to be distributed. The video briefly introduces uv as a modern, more powerful alternative for virtual environment management, promising to cover it later. The instructor strongly recommends always working within a virtual environment as a fundamental best practice in the Python ecosystem.

  • Organize Python Code like a Pro6:51

    This video delves into the crucial aspect of Python code organization and structure, emphasizing its importance for maintainability and readability. The instructor outlines a recommended project layout, starting with a top-level folder for the application. Inside, a main entry point file (e.g., run.py) initiates the program. Individual .py files containing code are called modules. Folders that function as Python packages are distinguished by the presence of an empty __init__.py file within them, indicating they are logical groupings of modules.

    Crucially, the video introduces the fundamental concepts of namespace and scope using a relatable "house and city" analogy. This illustrates that elements defined globally (like public parks in a city) are accessible from anywhere in the code. However, elements defined within a function or class (akin to items inside a house) are confined to that specific scope and cannot be directly accessed from outside unless explicitly exposed. This means a function can access global elements, but a global part of the program cannot directly access local elements within a function. Understanding this hierarchical access rule is paramount for writing correct and predictable Python code, a concept that will be solidified through practical application in subsequent lessons.

  • PEP8 and Zen of python4:46

    This video introduces essential Python coding style guidelines, specifically PEP 8 and "The Zen of Python," setting a foundation for writing professional, maintainable code. PEP 8 is presented as the official style guideline for Python code, offering conventions like always using four spaces for indentation (never tabs) and recommending meaningful names for methods, functions, and classes. While not for absolute beginners, these principles are subtly integrated throughout the course, with tools like code formatters (e.g., Black, Ruff, Flake8) mentioned for automating compliance.

    The philosophical underpinnings of Pythonic code are introduced through "The Zen of Python" by Tim Peters, accessible by simply typing import this in the Python shell. This "poem" outlines guiding principles such as "Beautiful is better than ugly," "Simple is better than complex," "Flat is better than nested," and "Readability counts." The core message is to prioritize simplicity and readability in code. While deep mastery of PEP 8 and "The Zen of Python" comes with experience, early exposure helps establish good habits and provides a roadmap for continuous improvement in Python programming.

  • Basics of Python & Programming

Requirements

  • No prior programming experience is needed
  • A computer (Windows, macOS, or Linux) with internet access
  • A code editor such as VS Code
  • Curiosity to learn and consistency to practice daily

Description

Only Python course that you will need. A python course that is take your python skills to production level.

Unlock the full power of Python, one of the world’s most versatile and beginner-friendly programming languages. Whether you're just starting out or looking to reinforce your foundational knowledge with real-world applications, this course offers a structured and practical journey into Python.

This is not just another Python tutorial. Each concept is taught through relatable real-world examples, including our signature “chai shop” analogy that brings abstract ideas to life. The course is designed to help you not only understand Python syntax but also build the mental models necessary to apply Python in real projects confidently.

From core data types and control flow to advanced topics like object-oriented programming, context managers, decorators, file handling, JSON, HTTP requests, and so much more. Every chapter is written with clarity and includes hands-on coding examples, detailed explanations, and output demonstrations. You’ll also dive into tools and modules from the Python standard library that are essential for any developer, such as json, requests, pathlib, and more.

What you’ll learn:

  • Python fundamentals: variables, strings, lists, tuples, dictionaries, sets

  • Flow control using if-else statements, loops, and comprehensions

  • Functions, scopes, decorators, and assignment expressions

  • Object-Oriented Programming: classes, inheritance, polymorphism, operator overloading, and data classes

  • File I/O: working with files, JSON, Pickle, Shelve, and compressed archives

  • Exception handling and writing custom context managers

  • HTTP requests with the requests library

  • Writing clean, maintainable code


Why this course stands out:

  • Real-world examples in every topic, explained with relatable scenarios

  • Complete beginner to advanced coverage, in one cohesive curriculum

  • Project-oriented learning with mini challenges and solutions after each concept

  • Bootcamp-style teaching with full code, outputs, and breakdowns

By the end of this course, you will not only be proficient in Python but also ready to apply it in practical applications, automation scripts, backend logic, and more.

Join us on this Python journey and build your confidence through hands-on learning that sticks.


Who this course is for:

  • Beginners who want to learn Python from scratch
  • Students transitioning from other languages to Python
  • Professionals looking to strengthen their Python fundamentals
  • Anyone interested in building real-world Python projects and learning by doing
  • Learners preparing for technical interviews or Python-based roles