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 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.
Benefits: Gain the skills and knowledge to build dynamic and interactive web applications using Python, opening doors to exciting career opportunities in web development.
By the end of this course, you'll be able to:
• Understand the fundamentals of web development with HTML, CSS, and JavaScript.
• Build web applications using the Flask framework.
• Work with databases using SQL and ORMs like Flask-SQLAlchemy.
• Develop RESTful APIs for web services.
• Deploy web applications to cloud platforms.
• Implement security measures to protect web applications.
Tools/Software: Python, Flask, HTML, CSS, JavaScript, SQL, Flask-SQLAlchemy, Vue.js
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.
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.
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
Python web frameworks
Module 2•3 hours to complete
Module details
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
Show info about module content
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
Working with databases
Module 3•6 hours to complete
Module details
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.
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
API development
Module 4•3 hours to complete
Module details
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
Show info about module content
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
Deployment, security, and maintenance
Module 5•2 hours to complete
Module details
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
Show info about module content
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
Testing web applications
Module 6•4 hours to complete
Module details
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.
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."
Frequently asked questions
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Certificate?
When you enroll in the course, you get access to all of the courses in the Certificate, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.