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.

Python Programming Fundamentals
Save on skills that make you shine with 40% off 3 months of Coursera Plus. Save now

Python Programming Fundamentals
This course is part of Microsoft Python Development Professional Certificate

Instructor: Microsoft
97,239 already enrolled
Included with
547 reviews
Recommended experience
Recommended experience
Beginner level
H.S. education. No prior computer experience required.
547 reviews
Recommended experience
Recommended experience
Beginner level
H.S. education. No prior computer experience required.
Skills you'll gain
- Category: Version ControlVersion Control
- Category: AlgorithmsAlgorithms
- Category: Data StructuresData Structures
- Category: Web DevelopmentWeb Development
- Category: Computer ProgrammingComputer Programming
- Category: Unit TestingUnit Testing
- Category: Software TestingSoftware Testing
- Category: ScriptingScripting
- Category: Code ReusabilityCode Reusability
- Category: DebuggingDebugging
Tools you'll learn
- Category: JupyterJupyter
- Category: Python ProgrammingPython Programming
- Category: GitHubGitHub
- Category: Git (Version Control System)Git (Version Control System)
Details to know

Add to your LinkedIn profile
36 assignments
Build your Design and Product expertise
- 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
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.
What's included
12 videos9 readings5 assignments1 discussion prompt
12 videos•Total 55 minutes
- Welcome to Microsoft Python Developer Certification•4 minutes
- Programming fundamentals•6 minutes
- Python in action: Real-world examples•2 minutes
- Explaining Python•6 minutes
- Python in the wild: From web apps to machine learning•6 minutes
- Introducing your Python toolkit•3 minutes
- Choosing your IDE: A tour of options•5 minutes
- Demo: Navigating Jupyter notebooks•5 minutes
- Your first Python words: Syntax and structure•6 minutes
- Basic operations, expressions and variables•5 minutes
- Variables in Python: Containers for your data•6 minutes
- How Python outputs code•3 minutes
9 readings•Total 90 minutes
- Microsoft Python Developer Certificate syllabus•10 minutes
- Python programming fundamentals syllabus•10 minutes
- Welcome to the world of programming•10 minutes
- The power of Python•10 minutes
- 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
- Introduction to Python•30 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
1 discussion prompt•Total 5 minutes
- Introduce yourself•5 minutes
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
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
- Python basics•30 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
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
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
- Importing modules: Expanding Python's powers•5 minutes
9 readings•Total 90 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
- Functions and modules•30 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
1 ungraded lab•Total 15 minutes
- Creating your own module: A Python challenge•15 minutes
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
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
- Data structure exercises: Practice makes perfect•20 minutes
- Data structures in Python•30 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
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
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
- Error handling and debugging•30 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
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.
What's included
10 videos10 readings5 assignments1 programming assignment
10 videos•Total 51 minutes
- Why unit tests matter•6 minutes
- Unit testing: Removing bugs from your code•6 minutes
- Demo: Getting started with pytest•6 minutes
- pytest tips and tricks•6 minutes
- Git essentials for working developers•6 minutes
- Git: Your code's time machine•2 minutes
- The benefits of version control•3 minutes
- Demo: Getting setup in GitHub•5 minutes
- Demo: What is the difference between Git and GitHub?•6 minutes
- Demo: Examining a GitHub portfolio•6 minutes
10 readings•Total 100 minutes
- Unit testing fundamentals•10 minutes
- pytest fixtures: Setting the stage for your tests•10 minutes
- Test organization and structure in pytest: Keeping your tests tidy•10 minutes
- Introduction to Git•10 minutes
- Git for beginners•10 minutes
- Setting up Git•10 minutes
- Creating a software development portfolio•10 minutes
- Set up your GitHub account•10 minutes
- A guide to 'Solve problems with Python'•10 minutes
- Python programming fundamentals: Putting it all together•10 minutes
5 assignments•Total 90 minutes
- Test basics & version control•30 minutes
- Introduction to unit testing•15 minutes
- pytest: your Python testing companion•15 minutes
- Rewinding time: Version control with Git•15 minutes
- Your professional portfolio•15 minutes
1 programming assignment•Total 30 minutes
- Activity: Solve problems with Python•30 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.

Offered by

Offered by

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.
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Learner reviews
547 reviews
- 5 stars
70.43%
- 4 stars
19.89%
- 3 stars
3.64%
- 2 stars
1.64%
- 1 star
4.37%
Showing 3 of 547
Reviewed on Mar 11, 2025
Some of the hints when submitting the assignment was not clear and lucky I knew some programming already to understand it...
Reviewed on Apr 19, 2025
This was very helpful and it clears all my basic concepts of python
Reviewed on Mar 24, 2026
Excelente curso, con buena orientacion y buena guia para entender y aplicar el conocimiento adquirido
Frequently asked questions
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.
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.
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.
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.
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.
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.
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.
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.
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.