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
Applied Text Mining in Python (Coursera) Coursera
University of Michigan

Applied Text Mining in Python (Coursera)

This course will introduce the learner to text mining and text manipulation basics. The course begins with an understanding of how text is handled by python, the structure of text both to the machine and to humans, and an overview of the nltk framework for manipulating text. The second week focuses on common manipulation needs, including regular expressions (searching for text), cleaning text, and preparing text for use by machine learning processes. The third week will apply basic natural language processing methods to text, and demonstrate how text classification is accomplished. The final week will explore more advanced methods for detecting the topics in documents and grouping them by similarity (topic modelling).

Aug 17th 2026
4 Weeks
Intro to Relational Databases (Udacity) Udacity
Udacity

Intro to Relational Databases (Udacity)

SQL, DB-API, and More! This course is a quick, fun introduction to using a relational database from your code, using examples in Python. You'll learn the basics of SQL (the Structured Query Language) and database design, as well as the Python API for connecting Python code to a database. You'll also learn a bit about protecting your database-backed web apps from common security problems. After taking this course, you'll be able to write code using a database as a backend to store application data reliably and safely.

Self Paced
Self-Paced
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
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
Intro to HTML and CSS (Udacity) Udacity
Udacity

Intro to HTML and CSS (Udacity)

In this course, you'll learn the fundamentals web development, along with best practices and professional problem-solving techniques using Developer Tools. Throughout this course, you'll learn about the underlying structure of the web - HTML. You'll learn how to use this tree-like structure to create websites. You'll also learn how to apply styling to a website through CSS. You'll learn about CSS syntax, selectors, and units. Along the way, you'll also learn about code editors and a browser's Developer Tools.

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