Web Development with Python (DWP301c)
Vietnamese title: Phát triển Web với Python
Credits: 3
Prerequisites: PFP191

Description:
In this course, you will learn to build your own cloud-based applications and work with the technologies behind them. This program consists of 10 courses with ample instructional content as well as hands-on exercises and projects designed to hone your skills and help you build your portfolio.
You'll skill up with the tools and technologies that successful software developers use to build, deploy, test, run, and manage Full Stack Cloud Native applications, giving you the practical skills to begin a new career in an in-demand area.
The courses in this program will help you develop skill sets in many technologies including: Cloud foundations, HTML, CSS, JavaScript, GitHub, Node.js, React, Cloud Native practices, DevOps, CI/CD, Containers, Docker, Kubernetes, OpenShift, Istio, Python, Databases, SQL, NoSQL, Django ORM, Bootstrap, Application Security, Microservices, Serverless computing, and more.
After completing all the courses in the program, including the capstone project, you will have developed several applications using front-end and back-end technologies and deployed them on a cloud platform using Cloud Native methodologies.

Learning outcomes:
Understanding cloud computing from a business perspective as also for becoming a cloud practitioner
Understanding of how serverless benefits developers, learn when to use serverless programming, serverless deployment models, and discover its top use cases and design patterns
Able to apply new knowledge to a real-life challenge and use your expertise to develop a successful full stack solution.
Understanding of HTML, CSS, JS and learn how a combination of both technologies can help developers create the structure and style of their websites
Hands-on experience using Git and GitHub
Able to build rich Front-End applications with React and ES6 - connect React components using data and state - write rich React components with advanced features like Hooks and Redux
Able to develop applications using asynchronous callbacks and promises - create REST APIs and perform CRUD operations - implement authentication and session management
Understand Python basics and the different data types and creating basic programs, working with data, and automating real-world tasks using Python
Able to develop web applications and AI powered solutions
Understand fundamental database concepts and hands-on experience deploying your Django web app on the cloud
Able to build cloud native applications using current containerization tools and technologies such as containers, Docker, container registries, Kubernetes, OpenShift, and Istio

Student tasks:
Student must get the certification of IBM Full Stack Software Developer Specialization from Coursera to be accepted to the final examination

Tools:

Materials:
description: https://www.coursera.org/learn/introduction-to-cloud
publisher: Coursera
description: https://www.coursera.org/learn/introduction-to-web-development-with-html-css-javacript/
publisher: Coursera
description: https://www.coursera.org/learn/getting-started-with-git-and-github
publisher: Coursera
description: https://www.coursera.org/learn/developing-frontend-apps-with-react/
publisher: Coursera
description: https://www.coursera.org/learn/developing-backend-apps-with-nodejs-and-express/
publisher: Coursera
description: https://www.coursera.org/learn/python-for-applied-data-science-ai
publisher: Coursera
description: https://www.coursera.org/learn/python-project-for-ai-application-development/
publisher: Coursera
description: https://www.coursera.org/learn/developing-applications-with-sql-databases-and-django
publisher: Coursera
description: https://www.coursera.org/learn/ibm-containers-docker-kubernetes-openshift
publisher: Coursera
description: https://www.coursera.org/learn/applications-development-microservices-serverless-openshift
publisher: Coursera
description: https://www.coursera.org/learn/ibm-cloud-native-full-stack-development-capstone/
publisher: Coursera
description: https://www.coursera.org/learn/full-stack-software-developer-assessment
publisher: Coursera
description: https://www.coursera.support/s/article/208280036-Coursera-Code-of-Conduct?language=en_US
publisher: Coursera

Assessments:
category: Final exam
type: Final exam
weight: 100.0
duration: 60'
question_type: All LOs
no_question: Multiple choicesMarked by Computer
knowledge_and_skill: 50
grading_guide: All studied courses. Each module of course contributes 4-5 questions.
note: by exam board,
using computer

Schedule:
session: Introduction to Cloud Computing
- Core concepts of cloud computing.
- Foundational knowledge required for understanding cloud computing from a business perspective as also for becoming a cloud practitioner.
- Definition and essential characteristics of cloud computing, its history, the business case for cloud computing, and emerging technology usecases enabled by cloud.
- Introduce to some of the prominent service providers of our times (e.g. AWS, Google, IBM, Microsoft, etc.) the services they offer, and look at some case studies of cloud computing across industry verticals.
- Learn about the various cloud service models (IaaS, PaaS, SaaS) and deployment models (Public, Private, Hybrid) and the key components of a cloud infrastructure (VMs, Networking, Storage - File, Block, Object, CDN).
- Cover emergent cloud trends and practices including - Hybrid Multicloud, Microservices, Serverless, DevOps, Cloud Native and Application Modernization.
- The basics of cloud security, monitoring, and different job roles in the cloud industry.
- Created your own account on IBM Cloud and gained some hands-on experience by provisioning a cloud service and working with it.
learning_outcomes: I
session: Introduction to Web Development with HTML, CSS, JavaScript
- Discover the languages, frameworks, and tools that you will need to create interactive and engaging websites right from the beginning.
- Learning about the roles of front-end, back-end, and full-stack developers and how they work together on development projects.
- Become familiar with the terminology and skills needed in your career as a web developer.
- Explore the languages needed for developing websites or applications.
- Understanding of HTML and CSS and learn how a combination of both technologies can help developers create the structure and style of their websites.
- Learn how JavaScript can make your webpages dynamic with features that include interactive forms, dynamic content modification, and sophisticated menu systems
learning_outcomes: I
session: Getting Started with Git and GitHub
- Introduced to collaborative version control and popular Git platforms.
- Explore key Git concepts such as branching and repositories, as well as the use of Git commands.
- Practice various Git concepts such as forking, cloning and merging workflows.
- Use GitHub to work effectively as a team, and perform common Git operations, such as Pull Requests, from both the Web UI and command line.
learning_outcomes: I
session: Developing Front-End Apps with React
- Build rich Front-End applications with React and ES6
- Connect React components using data and state
- Write rich React components with advanced features like Hooks and Redux
- Explore how to access the React web framework user interface (UI) library and run rich React applications.
- Find ways to use React components and change their properties and states in a dynamic user interface.
- Connect to an external server from a React page.
- Introduces different testing tools that you can use to test the component without manual verification.
- Demonstrate your React skills with a final project to add to your portfolio.
learning_outcomes: I
session: Developing Back-End Apps with Node.js and Express
- Focus on Node.js and Express.
- Develop applications using asynchronous callbacks and promises
- Create REST APIs and perform CRUD operations
- Implement authentication and session management
- Complete numerous hands-on labs to gain practical experience.
- Demonstrate your Node skills with a final project to build your portfolio.
learning_outcomes: I
session: Python for Data Science, AI & Development
- Learn about Python basics and the different data types.
- Familiarize yourself with Python Data structures like List and Tuples, as well as logic concepts like conditions and branching.
- Use Python libraries such as Pandas, Numpy & Beautiful Soup.
- Use Python to perform tasks such as data collection and web scraping with APIs.
- Practice and apply what you learn through hands-on labs using Jupyter Notebooks.
- Comfortable creating basic programs, working with data, and automating real-world tasks using Python.
- 1st Evaluation (For students completed & got Coursera's specialization certificates)
learning_outcomes: I
session: Python Project for AI & Application Development
- Apply basic Python skills for developing Artificial Intelligence (AI) enabled applications.
- Develop functions and application logic
- Exchange data using Watson APIs
- Write unit tests,
- Package the application for distribution.
- Demonstrate your foundational Python skills by employing different techniques to develop web applications and AI powered solutions.
learning_outcomes: IT
session: Developing Applications with SQL, Databases, and Django
- Describe what is a database and how to model data
- Compose SQL queries to insert, select, update, delete data in a database
- Understand Object Relational Model (ORM)
- Employ Django to develop database-powered applications
- Deploy your Django app on the cloud Prerequisites:
- GitHub - HTML & CSS - Python
learning_outcomes: I
session: Introduction to Containers w/ Docker, Kubernetes & OpenShift
- Learn how to build cloud native applications using current containerization tools and technologies such as containers, Docker, container registries, Kubernetes, OpenShift, and Istio.
- Learn how to deploy and scale your applications in any public, private, or hybrid cloud.
- Apply what you learn in hands-on, browser-based labs.
- Be able to build a container image, then deploy and scale your container on the cloud using OpenShift.
learning_outcomes: I
session: Application Development using Microservices and Serverless
- Understanding of how serverless benefits developers,
- Learn when to use serverless programming, serverless deployment models, and discover its top use cases and design patterns.
- Discover how serverless supports continuous integration and continuous delivery (CI/CD) and microservices integration.
- Hands-on labs reinforce serverless programming concepts for creation, deployment, and invocation of cloud-based functions—including the deployment of microservices using OpenShift and Istio.
- The confidence to build a multi-tier web app that uses IBM Cloud Functions, OpenShift, Istio, and more.
learning_outcomes: I
session: Full Stack Cloud Development Capstone Project
- Demonstrate the skills that you have mastered in cloud native application development.
- Apply your new knowledge to a real-life challenge and use your expertise to develop a successful solution.
- Provides you with an opportunity to solidify your full stack proficiency.
- As you design a dynamic user experience, you will work with GitHub actions to build, test, and deploy your application.
- Develop frontend pages, add user administration, build actions for database operations, create backend services, make connections with cloud native APIs, and launch CI/CD pipelines.
- Boost your capabilities with cloud native services, JavaScript, Django, JSON, IBM Cloud Foundry, Python, and Kubernetes.
- Devise a solution for managing the containerized deployment of your application.
learning_outcomes: I
session: Full Stack Software Developer Assessment
Core concepts in cloud computing
Web development languages including HTML, CSS, and JavaScript
Git and GitHub
Node.js and React
Containers
Python
Database concepts and related technologies such as SQL and Django
Microservices and serverless computing
learning_outcomes: ITU