Microsoft
Advanced Python Development Techniques
Microsoft

Advanced Python Development Techniques

 Microsoft

Instructor: Microsoft

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

27 hours to complete
3 weeks at 9 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

27 hours to complete
3 weeks at 9 hours a week
Flexible schedule
Learn at your own pace

See how employees at top companies are mastering in-demand skills

Placeholder

Build your Design and Product expertise

This course is part of the Microsoft Python Development Professional Certificate
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
Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 5 modules in this course

This module delves into advanced Python programming techniques that are crucial for building complex and efficient applications. Learners will start by revisiting fundamental data structures (lists, dictionaries, sets) and then explore more advanced structures like stacks, queues, graphs, trees, and linked lists. They will learn how to choose the most appropriate data structure for a given task and implement them effectively in Python. The module then covers decorators, generators, and context managers, enabling learners to write cleaner, more readable, and more efficient code. Finally, the module explores advanced object-oriented programming (OOP) concepts, including metaclasses and introspection, allowing learners to achieve a deeper understanding of Python's OOP model and its flexibility. Through hands-on activities and real-world examples, learners will gain practical experience in applying these advanced techniques to solve real-world problems

What's included

13 videos7 readings5 assignments1 discussion prompt

This module introduces learners to the transformative role of Generative AI (GenAI) in modern software development, specifically focusing on Python. Learners will explore how GenAI tools can be leveraged to automate various aspects of the development lifecycle, including code generation, review, optimization, testing, and documentation. The module emphasizes practical applications of GenAI, providing hands-on experience with popular tools and techniques for effective prompt engineering. Learners will discover how to craft precise prompts to generate code, identify bugs and vulnerabilities, refactor code for improved readability, and create comprehensive test cases and documentation. While highlighting the potential of GenAI to enhance productivity and efficiency, the module also addresses its limitations and emphasizes the crucial role of human oversight in ensuring code quality and ethical considerations.

What's included

13 videos6 readings6 assignments

This module provides learners with a comprehensive introduction to cloud computing and its significance for Python developers. It begins with an overview of core cloud concepts, including service models (IaaS, PaaS, SaaS), and explores leading cloud platforms like Microsoft Azure. Learners will gain practical experience with Azure, creating accounts, navigating the Azure portal, and deploying a simple application. The module then delves into various deployment strategies, covering virtual machines, containers, and serverless functions. Learners will deploy a Flask web application to Azure and explore serverless computing with Azure Functions. Finally, the module showcases the breadth of cloud services available to Python developers, including storage, databases, and machine learning. Through hands-on demonstrations and activities, learners will gain practical experience interacting with Azure services using the Python SDK and build a serverless image processing application.

What's included

7 videos6 readings5 assignments

This module emphasizes the critical importance of documentation in professional Python development. Learners explore the purpose and value of documentation in creating maintainable, collaborative codebases. They delve into best practices for writing effective documentation, adhering to PEP 8 style guidelines, and using tools like Sphinx to generate professional-grade documentation from their code. The module then introduces the role of GenAI in automating documentation tasks, including generating code comments and API documentation. Learners will practice prompt engineering techniques to refine GenAI outputs and ensure accuracy and completeness. The module further covers principles of clean code, SOLID design principles, and refactoring techniques to improve code readability and maintainability. Finally, it introduces asynchronous programming in Python using the asyncio library, enabling learners to write concurrent code for handling I/O-bound operations efficiently.

What's included

17 videos7 readings4 assignments

This module shifts focus from testing individual components (unit testing) to verifying the interactions between different parts of a software system. Learners explore the concept of integration testing and its importance in identifying defects that may arise when individual units are combined. They learn about various integration testing strategies, including top-down, bottom-up, and sandwich approaches, and understand their strengths and weaknesses. The module provides hands-on experience with mocking dependencies using libraries like pytest-mock to isolate components and simulate external interactions. Learners also delve into the concept of test doubles (mocks, stubs, fakes) and learn how to choose the appropriate type for specific testing scenarios. The module culminates with a practical demonstration of integration testing a Flask web application using the pytest framework. Additionally, learners are introduced to Test-Driven Development (TDD) as a development methodology that promotes writing tests before code, leading to improved code quality and developer confidence.

What's included

7 videos6 readings3 assignments

Instructor

 Microsoft
Microsoft
206 Courses1,195,649 learners

Offered by

Microsoft

Recommended if you're interested in Design and Product

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

New to Design and Product? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions