When you enroll in this course, you'll also be enrolled in this Professional Certificate.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate from Microsoft
There are 6 modules in this course
Description: This course lays the groundwork for your Python programming journey. You'll learn essential Python syntax, data structures, and control flow, while practicing debugging and basic code optimization techniques.
Benefits: Gain a solid foundation in Python programming, enabling you to write clean, functional scripts and tackle common programming challenges.
By the end of this course, you'll be able to:
• Write basic Python programs using variables, data types, and operators.
• Implement conditional statements and loops to control program flow.
• Utilize functions and modules to write reusable and organized code.
• Manipulate data using lists, dictionaries, and other data structures.
• Debug code and handle errors effectively.
• Employ Git for version control and create a professional GitHub portfolio.
Tools/Software: Python, Jupyter Notebook, Git, GitHub
This course is for entry-Level professionals looking to build a foundational understanding and experience with Python, while seeking employment as a Python developer. No prior work experience or degree is required.
Introduction to Python provides a comprehensive introduction to the world of Python programming. It begins by welcoming learners to the Microsoft Python Developer Certification program and providing an overview of the course structure and expectations. Learners are then introduced to the fundamental concepts of programming, including how computers interpret instructions and the role of programming languages.
The module emphasizes Python's suitability for beginners due to its readability and versatility, showcasing real-world examples of its applications in web development, data science, and machine learning. Learners get hands-on experience by running a simple Python program and modifying it to understand basic syntax. The module also covers essential tools, guiding learners through the installation of Python and Jupyter Notebook, a popular Integrated Development Environment (IDE). Finally, learners take their first steps in coding by writing a "Hello, World!" program, exploring variables, data types, and basic operations.
By the end of Module 1, learners gain a solid understanding of Python's capabilities and are equipped with the necessary tools and foundational knowledge to embark on their coding journey.
Installing Python: A step-by-step guide•10 minutes
What is Jupyter Notebook?•10 minutes
Hello, Python world!•10 minutes
How Python code is interpreted•10 minutes
Anatomy of a Python program•10 minutes
5 assignments•Total 90 minutes
Activity: A simple Python program•15 minutes
Unveiling Python: What, why, and how?•15 minutes
Your Python toolkit: Setting up the environment•15 minutes
First steps in code: Writing a Python program•15 minutes
Introduction to Python•30 minutes
1 discussion prompt•Total 5 minutes
Introduce yourself•5 minutes
Python basics
Module 2•3 hours to complete
Module details
Module 2, "Python Basics," provides a foundational understanding of core programming concepts in Python. Learners will first delve into the control flow mechanisms, mastering conditional statements (if, else, elif) to enable decision-making within their programs. They will then explore loops (for, while) to efficiently handle repetitive tasks and iterate through data. Through hands-on exercises and coding challenges, learners will gain practical experience in applying these concepts. The module also emphasizes the importance of organized data, introducing lists as a fundamental data structure for storing and manipulating ordered sequences of information. Learners will discover how to create, modify, and access list elements, building a strong foundation for managing data in their Python programs. By the end of this module, learners will be equipped to write Python code that executes logically and efficiently, incorporating both control flow structures and basic data organization techniques.
What's included
4 videos6 readings5 assignments
Show info about module content
4 videos•Total 22 minutes
Making decisions with Python: If, else, and elif•5 minutes
Demo: Step by step of tracing code execution•6 minutes
Lists are a go-to data container•6 minutes
Mastering lists: Slicing, dicing, and more•5 minutes
6 readings•Total 60 minutes
Decisions and selections: What are they?•10 minutes
Introduction to loops and conditional statements•10 minutes
Repeating actions: For and while loops•10 minutes
Control flow in Python: The conductor of your code•10 minutes
Common code execution pitfalls: How to avoid them•10 minutes
Introduction to lists•10 minutes
5 assignments•Total 85 minutes
Activity: Variables and loops•15 minutes
Controlling the flow: Conditional statements and loops•15 minutes
Activity: Working with a list•10 minutes
Organizing your data•15 minutes
Python basics•30 minutes
Functions and modules
Module 3•5 hours to complete
Module details
Module 3 examines the core concepts of functions and modules in Python, providing learners with the skills to write reusable, organized, and efficient code. It starts by introducing functions as the fundamental building blocks of any Python program, explaining their syntax, and guiding learners to write their first function. The module then expands on this foundation by exploring classes as blueprints for objects and demonstrating how to define and instantiate them. The DRY (Don't Repeat Yourself) principle is emphasized, highlighting the importance of code reusability and how functions achieve this. Learners will also become familiar with Python's built-in functions and engage in hands-on activities to solidify their understanding. Moving further, the module explores the practical application of functions, including defining arguments, return values, and best practices for writing efficient and readable functions. Learners will gain experience in creating custom classes with attributes and methods, applying these concepts through coding exercises. The module then challenges learners to think like programmers by breaking down real-world problems into smaller, manageable functions, fostering modularity and code organization. Finally, the module broadens the learners' toolkit by introducing built-in and external modules, explaining how to import and utilize them effectively. Learners will explore popular libraries for various tasks and gain proficiency in managing packages with pip, the Python package installer. The module culminates with a hands-on challenge where learners create their own module, demonstrating their comprehensive understanding of the concepts covered.
What's included
11 videos9 readings8 assignments1 ungraded lab
Show info about module content
11 videos•Total 48 minutes
Functions: Python's building blocks•5 minutes
Classes: Blueprints for objects•5 minutes
Built-in functions are Python's handy helpers•6 minutes
Modules: Your code's toolbox•2 minutes
Writing your own functions•5 minutes
Variable scope: Where your data lives•2 minutes
Functions in the real world•2 minutes
Crafting custom classes•3 minutes
Using built-in modules•6 minutes
External libraries: Supercharging your Python code•6 minutes
The art of abstraction: Functions and the DRY principle•10 minutes
Variable scope: How they behave•10 minutes
Building custom classes•10 minutes
Best practices for writing Python functions•10 minutes
Problem-solving with functions•10 minutes
Divide and conquer: The power of modularity•10 minutes
Managing packages with pip: Installing and upgrading Libraries•10 minutes
Python libraries: The power of the community•10 minutes
Creating your own module•10 minutes
8 assignments•Total 135 minutes
Activity: Experimenting with built-in functions•15 minutes
The power of reusability: Functions, classes, and modules unveiled•15 minutes
Activity: Practicing functions and modules•15 minutes
Organizing your code: Functions in action•15 minutes
Activity: Class and Functions•15 minutes
Thinking like a programmer: Breaking down problems with functions•15 minutes
Expanding your toolkit with modules and libraries•15 minutes
Functions and modules•30 minutes
1 ungraded lab•Total 15 minutes
Creating your own module: A Python challenge•15 minutes
Data structures in Python
Module 4•4 hours to complete
Module details
This module provides a comprehensive introduction to data structures in Python, focusing on their practical application in real-world scenarios. Learners will explore fundamental data structures like lists, dictionaries, and sets, understanding their unique properties and use cases. Through hands-on exercises and engaging examples, they will develop the skills to select, create, manipulate, and optimize data structures for various programming tasks. The module also delves into algorithms, specifically sorting and searching, demonstrating how they interact with data structures to solve problems efficiently. By the end of this module, learners will be proficient in utilizing data structures to organize, manage, and process information effectively in their Python programs.
What's included
12 videos6 readings7 assignments
Show info about module content
12 videos•Total 62 minutes
Data structures: The containers of your code•2 minutes
Dictionaries: Key-value powerhouses•5 minutes
Sets: The unique collection•5 minutes
Data structures: The right tool for the job•3 minutes
Ordered vs. unordered: Finding your data•5 minutes
Demo: Data manipulation in Python using practical examples•7 minutes
Dictionaries in depth: Beyond the basics•6 minutes
Demo: Real-world applications and when to use each data structure•7 minutes
Sorting lists in Python•6 minutes
Demo: Searching lists in Python: Find what you need•5 minutes
Choosing the right data structure: A decision framework•5 minutes
Case studies: Matching data structures to problems•6 minutes
6 readings•Total 60 minutes
Python data structures: A cheat sheet•10 minutes
Mutability matters: Changing data in Python•10 minutes
Unleashing the power of dictionaries: Real-world applications•10 minutes
Data structures: Your Python organization system•10 minutes
Algorithms and data structures: A deeper dive•10 minutes
Tips and tricks for data structure selection•10 minutes
7 assignments•Total 125 minutes
Understanding data structures•15 minutes
Putting data structures to work•15 minutes
Activity: Finding what you need•15 minutes
Algorithms and lists: Sorting and searching•15 minutes
Choosing the right tool: Data structure selection•15 minutes
Data structure exercises: Practice makes perfect•20 minutes
Data structures in Python•30 minutes
Error handling and debugging
Module 5•3 hours to complete
Module details
This module explores the crucial skill of debugging and error handling in Python. Learners will begin by understanding the nature of exceptions, those pesky red flags that signal problems in code. They'll explore common Python exceptions, learning to identify their causes and implement solutions. The module then introduces a variety of debugging techniques, from the simplicity of print statements to the power of interactive debuggers. Learners will gain hands-on experience with these tools, stepping through code, inspecting variables, and pinpointing errors. The concept of exception handling is then demystified, with the try-except block taking center stage. Real-world examples illustrate how to gracefully handle errors and prevent program crashes. Finally, the module emphasizes a systematic approach to debugging, guiding learners to become effective code detectives. They'll learn to analyze error messages, utilize online resources, and adopt strategies used by seasoned developers.
What's included
10 videos4 readings6 assignments
Show info about module content
10 videos•Total 49 minutes
Introduction to error handling and debugging•2 minutes
Python exceptions part 1: Understanding the red flags•6 minutes
Python exceptions part 2: Anatomy of an exception•5 minutes
Print debugging: Your trusty sidekick•5 minutes
Interactive debuggers: Stepping through your code•2 minutes
Debugger: The why and how•6 minutes
Catching errors with try-except•6 minutes
Demo: Examples of real-world exception handling•6 minutes
The detective's guide to debugging•6 minutes
Demo: Debugging in action•5 minutes
4 readings•Total 40 minutes
Common Python exceptions: A field guide•10 minutes
Debugging toolkit: Essential techniques for Python developers•10 minutes
Exception handling best practices•10 minutes
Common debugging strategies used by experienced developers•10 minutes
6 assignments•Total 105 minutes
Common Python exceptions•15 minutes
Activity: Debugging code•15 minutes
Basic debugging techniques•15 minutes
Exception handling in Python•15 minutes
The debugging mindset: A systematic approach•15 minutes
Error handling and debugging•30 minutes
Testing basics & version control
Module 6•5 hours to complete
Module details
This module provides a crucial introduction to software testing and version control, essential skills for any aspiring Python developer. Learners will first delve into the world of unit testing, understanding its importance in ensuring code quality and reducing errors. They will explore the pytest framework, learning how to write and execute tests effectively. The module then shifts focus to version control with Git, teaching learners how to track changes, collaborate seamlessly, and manage their codebase efficiently. Finally, learners will apply this knowledge to build a professional portfolio on GitHub, showcasing their skills and projects to potential employers. This module emphasizes hands-on learning through demos, activities, and practical exercises, ensuring learners gain a solid understanding of these fundamental concepts.
Our goal at Microsoft is to empower every individual and organization on the planet to achieve more.
In this next revolution of digital transformation, growth is being driven by technology. Our integrated cloud approach creates an unmatched platform for digital transformation. We address the real-world needs of customers by seamlessly integrating Microsoft 365, Dynamics 365, LinkedIn, GitHub, Microsoft Power Platform, and Azure to unlock business value for every organization—from large enterprises to family-run businesses. The backbone and foundation of this is Azure.
OK
Why people choose Coursera for their career
Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.5
551 reviews
5 stars
70.41%
4 stars
19.96%
3 stars
3.62%
2 stars
1.63%
1 star
4.35%
Showing 3 of 551
A
AF
5·
Reviewed on Jan 8, 2026
a great course not just to learn python, also to learn the principles of programming and important tools used in the professional part like github
D
DB
5·
Reviewed on Mar 24, 2026
Excelente curso, con buena orientacion y buena guia para entender y aplicar el conocimiento adquirido
V
VR
5·
Reviewed on Jun 11, 2025
I am glad I took this course. It helped me get a good foundation for the next phase
Frequently asked questions
What will I actually learn in this Python course?
You'll learn how to write, run, and troubleshoot Python programs with confidence. It starts with syntax and program flow, then builds into reusable code, data structures, and the habits that help keep code reliable and organized. You'll apply those ideas in short coding tasks such as writing simple scripts, using loops to process lists, and fixing common errors in working code.
Do I need to know Python before taking this course?
No, you don't need prior Python experience, work experience, or a degree to start. The course begins with setting up Python and Jupyter Notebook, then walks you through simple programs, variables, and basic operations. Some general comfort using a computer will help, but it doesn't assume you've coded before.
Is this course beginner-friendly for learning Python?
Yes, it's beginner-friendly if you want a full introduction rather than a quick syntax cheat sheet. The course explains core ideas step by step and reinforces them with short exercises, quizzes, and coding tasks. If you're already comfortable writing Python, it may feel basic at the start, but it's useful if you also want practice with debugging and Git.
How long does it take to complete this course?
Plan on about 25 hours in total. At roughly 10 hours a week, that works out to around 2 to 3 weeks, depending on how much time you spend practicing code. The course includes lessons, readings, quizzes, coding assignments, and guided exercises, so the workload is varied rather than just video-based.
Are there hands-on exercises, projects, or labs in this course?
Yes, there is regular hands-on work, but it's mostly guided rather than one large open-ended project. You'll debug small programs, write loops to transform data, work with lists and dictionaries, and complete a programming assignment that applies conditional logic and iteration. There's also a guided lab on creating and using Python modules, so you put each idea to work soon after you learn it.
What skills and topics are covered in this course?
The course covers writing basic Python programs, controlling flow, and turning repeated logic into reusable code. It also works through data structures, debugging and exception handling, then finishes with testing, Git, and GitHub portfolio basics. Overall, it's about the everyday skills that help you write clean Python and manage your work as it grows.
What can I actually do after finishing this course?
By the end, you should be able to write small Python scripts that use variables, conditionals, loops, functions, and common data structures. You'll also be able to debug common errors, handle exceptions, and track simple work with Git. For example, you should be comfortable writing a script that processes a list of values, stores results in a dictionary, and then tests or fixes it when something breaks.
Is this course more focused on theory or hands-on learning?
It's closer to concept-first learning with regular coding reinforcement than to a project-heavy bootcamp. The course spends time explaining how Python works, then reinforces each topic through short coding activities, quizzes, and debugging exercises.
Why would I choose this course over other Python courses?
Choose this course if you want a broad Python foundation that goes beyond syntax into debugging, testing, Git, and GitHub. Instead of stopping at basic scripts, it shows how to organize code with functions and modules, work with data structures, and manage your work more systematically. If you want a beginner course that blends core coding practice with the habits used to maintain and share code, this course is a strong fit.