Full Stack Foundations (Udacity)

Offered by Udacity, AWS,
Full Stack Foundations (Udacity)

Build a data-driven web app with Python. In this course you will learn the fundamentals of back-end web development! You will create your own web application that queries a database for items on restaurant menus and then dynamically generates complete menus in the form of web pages and API endpoints.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

You’ll start by learning how to interact with a database from a web application using an Object-Relational Mapping (ORM) layer. From there, you’ll learn how GET and POST requests translate to CRUD operations. You’ll then explore the Flask framework and the various ways in which it can speed up the development of your applications. Finally, you’ll develop your very own web application from the ground up using the iterative development process.
Interacting with a persistent datastore is what transforms static web pages into powerful and effective web applications. Giving users the ability to create, read, update and delete data is the backbone of the most popular services on the Internet today. But, you must do so safely and securely - the smallest mistake could bring your application down or leak your user’s data.
In this course, you’ll discover how all of the major components of web applications work and best practices in developing secure, data-driven web applications.

What You Will Learn

Lesson 1
Working with the CRUD

  • Learn about CRUD; Create Read Update and Delete.
  • Implement CRUD operations on a database.
  • Use an ORM (Object-Relational Mapping) as an alternative to SQL.

Lesson 2
Making a Web Server

  • Build a web server from scratch using Python and some pre-installed libraries.
  • Learn how GET and POST requests can retrieve and modify information on a web site.
  • How to add CRUD functionality to our website.

Lesson 3
Developing with Frameworks

  • Introduction to web frameworks like Django and Ruby on Rails.
  • Use the Flask web framework to develop our own web application.
  • Introduction to APIs and how to add JSON endpoints to our application.

Lesson 4
Iterative Development

  • Build an entire web application on your own.
  • Learn about the iterative development process.
  • Have a working prototype throughout all stages of the development process.

Prerequisites and Requirements
You should be comfortable with Python, including Object-Oriented Programming. If you’d like to brush up on your Python, try the first three lessons of our Intro to Computer Science course. For Object-Oriented Programming in Python, see Programming Foundations with Python.
You should also have a firm understanding of SQL and working with a relational database, particularly PostgreSQL. Our Intro to Relational Databases course can get you started if you feel you’re not yet prepared.
Finally, you should be able to read and write HTML and CSS without any guidance. If you need a refresher on HTML and CSS, start with our Intro to HTML and CSS course.
To complete the final project for this course, it is critical you meet these prerequisites as you are given no assets to begin with and will truly build a complete web application from scratch.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Intro to Backend (Udacity) Udacity
Udacity

Intro to Backend (Udacity)

Starting Out with Web Serving Technology. This course is a selection of material from our larger Web Development course. This course presents an overview of a variety of Web backend topics: handling user input, producing templated output, storing information in databases and data stores, and building systems with secure user accounts.

Self Paced
Self-Paced
Computing for Data Analysis (edX) EdX
Georgia Institute of Technology,GTx

Computing for Data Analysis (edX)

A hands-on introduction to basic programming principles and practice relevant to modern data analysis, data mining, and machine learning. The modern data analysis pipeline involves collection, preprocessing, storage, analysis, and interactive visualization of data. In the course, you’ll see how computing and mathematics come together.

Aug 24th 2026
13-24 Weeks
Design Computing: 3D Modeling in Rhinoceros with Python/Rhinoscript (Coursera) Coursera
University of Michigan

Design Computing: 3D Modeling in Rhinoceros with Python/Rhinoscript (Coursera)

Why should a designer learn to code? As our world is increasingly impacted by the use of algorithms, designers must learn how to use and create design computing programs. Designers must go beyond the narrowly focused use of computers in the automation of simple drafting/modeling tasks and instead explore the extraordinary potential digitalization holds for design culture/practice.

Aug 17th 2026
5-12 Weeks
Gen AI for Code Generation for Python (Coursera) Coursera
Edureka

Gen AI for Code Generation for Python (Coursera)

Welcome to the 'Gen AI for Code Generation for Python' course, where you'll embark on a journey to explore and develop your skills in the art of code generation with Generative AI. Throughout this short course, you will delve into various techniques for generating Python code effortlessly, ranging from simple scripts to complete end-to-end projects.

Aug 17th 2026
1 Week
Spark (Udacity) Udacity
Udacity,Insight

Spark (Udacity)

Master how to work with big data and build machine learning models at scale using Spark! In this course, you’ll learn how to use Spark to work with big data and build machine learning models at scale, including how to wrangle and model massive datasets with PySpark, the Python library for interacting with Spark. In the first lesson, you will learn about big data and how Spark fits into the big data ecosystem. In lesson two, you will be practicing processing and cleaning datasets to get comfortable with Spark’s SQL and dataframe APIs. In the third lesson, you will debug and optimize your Spark code when running on a cluster. In lesson four, you will use Spark’s Machine Learning Library to train machine learning models at scale.

Self Paced
Self-Paced
What is Programming? (Udacity) Udacity
Udacity

What is Programming? (Udacity)

A Coding Dictionary. The world of development can be daunting with all of its lingo and jargon. This course will help demystify the cryptic terms that developers use on a daily basis. You'll learn about how the web functions, what a programmer does each day, why version control is so important, and how communication on the internet happens.

Self Paced
Self-Paced
Accounting Data Analytics with Python (Coursera) Coursera
University of Illinois at Urbana-Champaign

Accounting Data Analytics with Python (Coursera)

This course focuses on developing Python skills for assembling business data. It will cover some of the same material from Introduction to Accounting Data Analytics and Visualization, but in a more general purpose programming environment (Jupyter Notebook for Python), rather than in Excel and the Visual Basic Editor. These concepts are taught within the context of one or more accounting data domains (e.g., financial statement data from EDGAR, stock data, loan data, point-of-sale data).

Aug 17th 2026
5-12 Weeks