VOOZH about

URL: https://www.coursera.org/learn/microsoft-python-programming-fundamentals

⇱ Python Programming Fundamentals | Coursera


Python Programming Fundamentals

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Python Programming Fundamentals

This course is part of multiple programs.

102,838 already enrolled

Included with

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.5

565 reviews

Beginner level

Recommended experience

Flexible schedule
3 weeks at 10 hours a week
Learn at your own pace
93%
Most learners liked this course

Gain insight into a topic and learn the fundamentals.
4.5

565 reviews

Beginner level

Recommended experience

Flexible schedule
3 weeks at 10 hours a week
Learn at your own pace
93%
Most learners liked this course

Build your subject-matter expertise

This course is available as part of
When you enroll in this course, you'll also be asked to select a specific program.
  • 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

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.

What's included

11 videos8 readings5 assignments1 discussion prompt

11 videosTotal 51 minutes
  • Programming fundamentals6 minutes
  • Python in action: Real-world examples2 minutes
  • Explaining Python6 minutes
  • Python in the wild: From web apps to machine learning6 minutes
  • Introducing your Python toolkit3 minutes
  • Choosing your IDE: A tour of options5 minutes
  • Demo: Navigating Jupyter notebooks5 minutes
  • Your first Python words: Syntax and structure6 minutes
  • Basic operations, expressions and variables5 minutes
  • Variables in Python: Containers for your data6 minutes
  • How Python outputs code3 minutes
8 readingsTotal 80 minutes
  • Python programming fundamentals syllabus10 minutes
  • Welcome to the world of programming10 minutes
  • The power of Python10 minutes
  • Installing Python: A step-by-step guide10 minutes
  • What is Jupyter Notebook?10 minutes
  • Hello, Python world!10 minutes
  • How Python code is interpreted10 minutes
  • Anatomy of a Python program10 minutes
5 assignmentsTotal 90 minutes
  • Activity: A simple Python program15 minutes
  • Unveiling Python: What, why, and how?15 minutes
  • Your Python toolkit: Setting up the environment15 minutes
  • First steps in code: Writing a Python program15 minutes
  • Introduction to Python30 minutes
1 discussion promptTotal 5 minutes
  • Introduce yourself5 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 videosTotal 22 minutes
  • Making decisions with Python: If, else, and elif5 minutes
  • Demo: Step by step of tracing code execution6 minutes
  • Lists are a go-to data container6 minutes
  • Mastering lists: Slicing, dicing, and more5 minutes
6 readingsTotal 60 minutes
  • Decisions and selections: What are they?10 minutes
  • Introduction to loops and conditional statements10 minutes
  • Repeating actions: For and while loops10 minutes
  • Control flow in Python: The conductor of your code10 minutes
  • Common code execution pitfalls: How to avoid them10 minutes
  • Introduction to lists10 minutes
5 assignmentsTotal 85 minutes
  • Activity: Variables and loops15 minutes
  • Controlling the flow: Conditional statements and loops15 minutes
  • Activity: Working with a list10 minutes
  • Organizing your data15 minutes
  • Python basics30 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 videosTotal 48 minutes
  • Functions: Python's building blocks5 minutes
  • Classes: Blueprints for objects5 minutes
  • Built-in functions are Python's handy helpers6 minutes
  • Modules: Your code's toolbox2 minutes
  • Writing your own functions5 minutes
  • Variable scope: Where your data lives2 minutes
  • Functions in the real world2 minutes
  • Crafting custom classes3 minutes
  • Using built-in modules6 minutes
  • External libraries: Supercharging your Python code6 minutes
  • Importing modules: Expanding Python's powers5 minutes
9 readingsTotal 90 minutes
  • The art of abstraction: Functions and the DRY principle10 minutes
  • Variable scope: How they behave10 minutes
  • Building custom classes10 minutes
  • Best practices for writing Python functions10 minutes
  • Problem-solving with functions10 minutes
  • Divide and conquer: The power of modularity10 minutes
  • Managing packages with pip: Installing and upgrading Libraries10 minutes
  • Python libraries: The power of the community10 minutes
  • Creating your own module10 minutes
8 assignmentsTotal 135 minutes
  • Activity: Experimenting with built-in functions15 minutes
  • The power of reusability: Functions, classes, and modules unveiled15 minutes
  • Activity: Practicing functions and modules15 minutes
  • Organizing your code: Functions in action15 minutes
  • Activity: Class and Functions15 minutes
  • Thinking like a programmer: Breaking down problems with functions15 minutes
  • Expanding your toolkit with modules and libraries15 minutes
  • Functions and modules30 minutes
1 ungraded labTotal 15 minutes
  • Creating your own module: A Python challenge15 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 videosTotal 62 minutes
  • Data structures: The containers of your code2 minutes
  • Dictionaries: Key-value powerhouses5 minutes
  • Sets: The unique collection5 minutes
  • Data structures: The right tool for the job3 minutes
  • Ordered vs. unordered: Finding your data5 minutes
  • Demo: Data manipulation in Python using practical examples7 minutes
  • Dictionaries in depth: Beyond the basics6 minutes
  • Demo: Real-world applications and when to use each data structure7 minutes
  • Sorting lists in Python6 minutes
  • Demo: Searching lists in Python: Find what you need5 minutes
  • Choosing the right data structure: A decision framework5 minutes
  • Case studies: Matching data structures to problems6 minutes
6 readingsTotal 60 minutes
  • Python data structures: A cheat sheet10 minutes
  • Mutability matters: Changing data in Python10 minutes
  • Unleashing the power of dictionaries: Real-world applications10 minutes
  • Data structures: Your Python organization system10 minutes
  • Algorithms and data structures: A deeper dive10 minutes
  • Tips and tricks for data structure selection10 minutes
7 assignmentsTotal 125 minutes
  • Understanding data structures15 minutes
  • Putting data structures to work15 minutes
  • Activity: Finding what you need15 minutes
  • Algorithms and lists: Sorting and searching15 minutes
  • Choosing the right tool: Data structure selection15 minutes
  • Data structure exercises: Practice makes perfect20 minutes
  • Data structures in Python30 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 videosTotal 49 minutes
  • Introduction to error handling and debugging2 minutes
  • Python exceptions part 1: Understanding the red flags6 minutes
  • Python exceptions part 2: Anatomy of an exception5 minutes
  • Print debugging: Your trusty sidekick5 minutes
  • Interactive debuggers: Stepping through your code2 minutes
  • Debugger: The why and how6 minutes
  • Catching errors with try-except6 minutes
  • Demo: Examples of real-world exception handling6 minutes
  • The detective's guide to debugging6 minutes
  • Demo: Debugging in action5 minutes
4 readingsTotal 40 minutes
  • Common Python exceptions: A field guide10 minutes
  • Debugging toolkit: Essential techniques for Python developers10 minutes
  • Exception handling best practices10 minutes
  • Common debugging strategies used by experienced developers10 minutes
6 assignmentsTotal 105 minutes
  • Common Python exceptions15 minutes
  • Activity: Debugging code15 minutes
  • Basic debugging techniques15 minutes
  • Exception handling in Python15 minutes
  • The debugging mindset: A systematic approach15 minutes
  • Error handling and debugging30 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 videosTotal 51 minutes
  • Why unit tests matter6 minutes
  • Unit testing: Removing bugs from your code6 minutes
  • Demo: Getting started with pytest6 minutes
  • pytest tips and tricks6 minutes
  • Git essentials for working developers6 minutes
  • Git: Your code's time machine2 minutes
  • The benefits of version control3 minutes
  • Demo: Getting setup in GitHub5 minutes
  • Demo: What is the difference between Git and GitHub?6 minutes
  • Demo: Examining a GitHub portfolio6 minutes
10 readingsTotal 100 minutes
  • Unit testing fundamentals10 minutes
  • pytest fixtures: Setting the stage for your tests10 minutes
  • Test organization and structure in pytest: Keeping your tests tidy10 minutes
  • Introduction to Git10 minutes
  • Git for beginners10 minutes
  • Setting up Git10 minutes
  • Creating a software development portfolio10 minutes
  • Set up your GitHub account10 minutes
  • A guide to 'Solve problems with Python'10 minutes
  • Python programming fundamentals: Putting it all together10 minutes
5 assignmentsTotal 90 minutes
  • Introduction to unit testing15 minutes
  • pytest: your Python testing companion15 minutes
  • Rewinding time: Version control with Git15 minutes
  • Your professional portfolio15 minutes
  • Test basics & version control30 minutes
1 programming assignmentTotal 30 minutes
  • Activity: Solve problems with Python30 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
4.4 (171 ratings)
343 Courses2,617,428 learners

Explore more from Design and Product

Why people choose Coursera for their career

👁 Image

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."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

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."
👁 Image

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

  • 5 stars

    70.31%

  • 4 stars

    19.78%

  • 3 stars

    3.53%

  • 2 stars

    1.59%

  • 1 star

    4.77%

Showing 3 of 565

AB
·

Reviewed on Apr 19, 2025

This was very helpful and it clears all my basic concepts of python

VR
·

Reviewed on Jun 11, 2025

I am glad I took this course. It helped me get a good foundation for the next phase

AA
·

Reviewed on Feb 27, 2026

The course was a great introduction to the world of Python. I was able to understand Python concepts and start writing my own code to solve real-life problems. It was also my first Python course.

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.

Financial aid available,