Description: This course provides a comprehensive introduction to building dynamic web applications using Python and the Flask framework. You'll learn how to handle user interactions, work with databases, develop APIs, and deploy secure and reliable web applications.

Web Development with Python

Web Development with Python
This course is part of Microsoft Python Development Professional Certificate

Instructor: Microsoft
Access provided by Yonsei University
7,816 already enrolled
25 reviews
Recommended experience
Recommended experience
Beginner level
H.S. education. No prior computer experience required.
25 reviews
Recommended experience
Recommended experience
Beginner level
H.S. education. No prior computer experience required.
Details to know

Add to your LinkedIn profile
28 assignments
See how employees at top companies are mastering in-demand skills

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
This module provides a foundational understanding of web development concepts, introducing learners to the role of Python in building web applications. It begins by exploring the evolution of the web and Python's unique strengths in this domain, including its versatility and extensive libraries. Learners will then delve into the core technologies of the web - HTML, CSS, and JavaScript - gaining a high-level understanding of their syntax and purpose. The module also covers essential web design principles, emphasizing user-centric approaches for creating effective and engaging online experiences. Finally, learners are introduced to front-end frameworks, exploring their benefits and comparing popular options like React, Angular, and Vue.js. Through practical demos and activities, learners will gain hands-on experience with Vue.js, setting up their first project and experimenting with component-based development. This module sets the stage for future learning by providing a comprehensive overview of the web development landscape and equipping learners with essential knowledge and skills.
What's included
12 videos8 readings5 assignments1 discussion prompt
12 videos•Total 62 minutes
- Python's web toolkit•2 minutes
- Why Python for the web?•6 minutes
- Web development 101•6 minutes
- Focusing on your user in web development•2 minutes
- Recognizing HTML, CSS, and JavaScript syntax•6 minutes
- The web development landscape•6 minutes
- Boost your web development with front-end frameworks•5 minutes
- Demo: Getting started with Vue.js•6 minutes
- Navigating front-end framework websites•6 minutes
- Your front-end framework questions answered•7 minutes
- Building blocks for modern web apps•3 minutes
- Demo: Setting up your first Vue3 project•7 minutes
8 readings•Total 80 minutes
- Web development with Python syllabus•10 minutes
- The evolution of the web•10 minutes
- Python's web development landscape•10 minutes
- Web design principles•10 minutes
- What is a web framework?•10 minutes
- Responsive web design•10 minutes
- npm essentials for Python programmers•10 minutes
- Front-end framework learning paths•10 minutes
5 assignments•Total 105 minutes
- Python's place in the web•15 minutes
- The web's foundation HTML, CSS, and JavaScript•15 minutes
- Front-end frameworks in focus•15 minutes
- Activity: Experimenting with front-end frameworks•30 minutes
- Introduction to web development•30 minutes
1 discussion prompt•Total 5 minutes
- Most memorable learning experience•5 minutes
This module delves into the practical application of Python for web development through the exploration of Flask, a popular Python web framework. It starts by introducing Flask and Django, comparing their strengths and weaknesses to help learners understand their respective use cases. Learners then dive deep into Flask, starting with setting up their development environment and creating a basic Flask application. The module emphasizes core concepts such as routing and rendering, explaining how to handle different HTTP requests and dynamically generate web pages using templates. Through hands-on demos and activities, learners gain practical experience in building a simple web application using Flask, incorporating essential features like data handling, file management, and decorators. This module provides learners with a solid foundation in Flask, equipping them with the skills to develop dynamic and interactive web applications.
What's included
4 videos5 readings5 assignments
4 videos•Total 18 minutes
- Introducing Django and Flask•6 minutes
- Demo: Setting up your first Flask project•4 minutes
- Flask's routing magic•6 minutes
- Creating an effective work environment•2 minutes
5 readings•Total 50 minutes
- Django vs. Flask: In-depth comparison•10 minutes
- Introduction to Flask•10 minutes
- Your first Flask app•10 minutes
- Flask routing and templating: A concise guide•10 minutes
- Tips for web application optimization•10 minutes
5 assignments•Total 105 minutes
- Flask: Python web development•15 minutes
- Flask's flexibility: Routing and rendering•15 minutes
- Building your first web apps•15 minutes
- Activity: Building your first web apps•30 minutes
- Python web frameworks•30 minutes
This module focuses on the crucial role of databases in web development and how to integrate them effectively with Python applications. Learners begin by exploring fundamental database concepts, including relational databases, SQL, and the importance of database schemas. They gain practical experience with SQL syntax through interactive exercises, focusing on essential commands for data manipulation. The module then introduces Object-Relational Mappers (ORMs) and their role in simplifying database interactions within Python. Learners delve into popular ORM libraries like Flask-SQLAlchemy, learning how to define models, establish relationships between tables, and perform CRUD operations. Through hands-on demos and projects, learners gain practical experience in setting up a database, designing schemas, and interacting with data using ORMs. This module bridges the gap between database theory and practical implementation, equipping learners with essential skills for building data-driven web applications.
What's included
13 videos9 readings6 assignments1 programming assignment
13 videos•Total 62 minutes
- Introduction to databases•3 minutes
- What is SQL?•6 minutes
- Database essentials for web developers•6 minutes
- ORM: Making databases talk Python•6 minutes
- Database design for web applications•6 minutes
- The CRUD cycle•2 minutes
- Why databases matter for your web app•7 minutes
- ORMs: Your translator for Python and databases•3 minutes
- Demo: Installation and use of PostgreSQL•5 minutes
- The importance of a database in Flask•2 minutes
- Demo: Setting up your database with Flask•6 minutes
- Data modeling with Flask-SQLAlchemy•6 minutes
- Demo: CRUD operations with Flask-SQLAlchemy•5 minutes
9 readings•Total 90 minutes
- SQL concepts•10 minutes
- Implementing database relationships•10 minutes
- CRUD operations using ORMs•10 minutes
- ORM: How Python talks to databases•10 minutes
- Common DBMS tools•10 minutes
- Data modeling best practices•10 minutes
- A step-by-step guide for Flask•10 minutes
- CRUD in depth: Advanced querying and filtering with ORMs•10 minutes
- Working with databases review•10 minutes
6 assignments•Total 120 minutes
- Database foundations: Storing and retrieving information•15 minutes
- Python and databases for the web•15 minutes
- Setting up your database: Modeling your data•15 minutes
- CRUD operations: Interacting with your database•15 minutes
- Activity: CRUD operations practice•30 minutes
- Working with databases•30 minutes
1 programming assignment•Total 90 minutes
- Bookstore customer analysis with SQL•90 minutes
This module introduces learners to the world of Application Programming Interfaces (APIs), focusing on the widely adopted RESTful architecture. It begins by explaining the core concepts of REST, including resources, endpoints, HTTP methods, and status codes. Learners explore how APIs facilitate communication between different software systems, enabling data exchange and integration. The module then explores the practical aspects of API development using Flask-RESTful, a Python framework for building RESTful APIs. Through live coding demonstrations and hands-on activities, learners gain experience in setting up API endpoints, handling requests and responses, and consuming external APIs. The module also covers security considerations, emphasizing the importance of authentication and authorization mechanisms to protect API access. By the end of this module, learners will have a solid understanding of RESTful APIs and the ability to create and integrate APIs into their web applications.
What's included
5 videos2 readings5 assignments
5 videos•Total 19 minutes
- RESTful APIs: Core concepts and terminology•6 minutes
- RESTful APIs as the universal translators•3 minutes
- The API messenger service•2 minutes
- Demo: Building a Restful API with Flask-RESTful•4 minutes
- A practical example of consuming an external API•4 minutes
2 readings•Total 20 minutes
- The anatomy of a RESTful API•10 minutes
- Keeping your data secure with API authentication and authorization•10 minutes
5 assignments•Total 105 minutes
- Understanding RESTful APIs•15 minutes
- Creating and consuming APIs•15 minutes
- Activity: Building a mini library•15 minutes
- Activity: Use Flask-RESTful•30 minutes
- API development•30 minutes
This module focuses on the crucial final steps of web development: deploying applications, implementing security measures, and understanding ongoing maintenance. Learners begin by exploring common web security threats and vulnerabilities, such as SQL injection and cross-site scripting (XSS), and learn how to mitigate these risks through secure coding practices. The module then delves into deployment strategies, comparing different cloud platforms like AWS and Heroku, and differentiating between PaaS and IaaS models. Learners gain practical experience by deploying a Flask application to a chosen platform, implementing basic security measures to protect their application from common attacks. This module provides learners with the essential skills and knowledge to launch secure and reliable web applications, ensuring their ongoing maintenance and protection.
What's included
6 videos2 readings4 assignments
6 videos•Total 23 minutes
- Best practices for securing your API•6 minutes
- API security: The shield protecting your data•3 minutes
- Deployment made easy: Your app on the web•6 minutes
- Common attack vectors on the web•3 minutes
- Choosing your web app's home•4 minutes
- Deployment strategies: PaaS vs. IaaS•2 minutes
2 readings•Total 20 minutes
- Choosing the right cloud deployment platform•10 minutes
- Deploy a Flask application: A guide•10 minutes
4 assignments•Total 90 minutes
- Launching your app: Deployment and basic security•15 minutes
- Choosing your cloud: Navigating deployment platforms•15 minutes
- Activity: Deploy a Flask application•30 minutes
- Deployment, security, and maintenance•30 minutes
This module emphasizes the critical role of testing in web development and introduces learners to essential testing techniques and tools. It begins by explaining the importance of testing in ensuring the quality, functionality, and user experience of web applications. Learners are then introduced to practical testing methods, including unit testing with Flask and automated testing with Selenium. Through demonstrations and hands-on activities, learners gain experience in writing and running tests, simulating user interactions, and identifying potential issues. The module also covers the ongoing maintenance and monitoring of web applications, highlighting the importance of keeping applications up-to-date, secure, and performing optimally. By the end of this module, learners will understand the value of testing throughout the development lifecycle and possess the skills to ensure their web applications are robust, reliable, and user-friendly.
What's included
7 videos5 readings3 assignments1 programming assignment
7 videos•Total 28 minutes
- Why testing matters for successful web apps•2 minutes
- Demo: Testing a Flask app•4 minutes
- Selenium WebDriver: Automating your web browser•6 minutes
- Writing unit tests with Flask•5 minutes
- Why web applications need attention over time•3 minutes
- The web app health check: Monitoring and maintenance•4 minutes
- Monitoring your Flask app: Real-time insights•4 minutes
5 readings•Total 50 minutes
- Testing for quality: Keeping the user in mind•10 minutes
- Selenium for web testing•10 minutes
- Web application maintenance best practices•10 minutes
- Best practices for building a full-stack web application•10 minutes
- Web development with Python: Putting it all together•10 minutes
3 assignments•Total 75 minutes
- Why testing matters in web development•15 minutes
- Monitoring, maintaining, and evolving your web app•30 minutes
- Testing web applications•30 minutes
1 programming assignment•Total 90 minutes
- Activity: Building a Full-Stack Web Application - Churn Prediction Dashboard•90 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.
Explore more from Computer Science
MMicrosoft
Course
Category: Credit offeredCredit offered
Course
Category: Credit offeredCredit offered
MMicrosoft
Course
Category: Credit offeredCredit offered
MMicrosoft
Course
Category: Credit offeredCredit offered