Full Stack - nd0044 - Syllabus PDF
Full Stack - nd0044 - Syllabus PDF
Full Stack - nd0044 - Syllabus PDF
This program includes 4 courses and 5 projects. Each project you build will be an opportunity to
apply what you’ve learned in the lessons and demonstrate to potential employers that you have practical
full-stack development skills.
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 2
Course 1: SQL and Data Modeling for the Web
Master relational databases with the power of SQL, and leverage Python to incorporate database logic into your
programs.
For your first project, you’ll be building out the data models and
database for an artist/venue booking application. The fictitious
startup Fy-yur is building a website that facilitates bookings between
artists who can play at venues, and venues who want to book artists.
This site:
• Lets venue managers and artists sign up, fill out their
information, and list their availability for shows.
Course Project • Lets artists browse venues where they can play, and see what
past/upcoming artists have been booked at a venue.
Design a Venue Booking • Lets a venue manager browse artists that would like to play in
Database their city, and see what past/upcoming venues where the artist
has played/will be playing.
The goal of this project is to build out the data models for this
booking application. A prototype design of the web app will be
provided. You’ll use SQLAlchemy and Postgresql to build out the
data models upon which this site will rely. You’ll write out both the
raw SQL and SQLAlchemy commands to run for powering
the backend functionality of the website.
LEARNING OUTCOMES
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 3
• Describe and explain the use cases for an Object Relational
Mapping (ORM) library
• Describe and explain the abstraction layers of SQLAlchemy
Intro to SQLAlchemy
• Connect to and manage a database using composable SQL
and
LESSON TWO expressions
SQLAlchemy ORM
• Define data model objects with Python using SQLAlchemy
Basics
ORM
• Connect data models to a lightweight Flask web application
• Build data models using different types of data
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 4
Course 2: API Development and Documentation
Learn how to use APIs to control and manage web applications, including best practices for API testing and
documentation.
In this project, you will use the skills you’ve developed to build a
Trivia API. The API will allow users to:
• Search for trivia questions and answers via category and
Course Project: difficulty
• Add new questions
Trivia API • Modify the difficulty rating of questions.
The goal of this project is to use APIs to control and manage a web
application using existing data models. You’ll be given a set of data
models and the application front end. Your task will be to implement
the API in Flask to make the Trivia game functional.
LEARNING OUTCOMES
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 5
• Structure and Organize API Endpoints
• Describe and explain Cross-Origin Resource Sharing (CORS)
• Manage CORS requests using HTTP headers
Endpoints and • Manage CORS controls using Flask-CORS
LESSON THREE
Payloads • Parse request path and body from an HTTP request
• Implement HTTP POST, PATCH and DELETE methods using
Flask
• Handle application errors using Flask
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 6
Course 3: Identity Access Management
Implement authentication and authorization in Flask and understand how to design against key security
principle. You will also gain experience with role-based control design patterns, securing a REST API, and
applying software system risk and compliance principles.
In the third project of the program, you will build the backend for a
coffee shop application. You’ll add user accounts and authentication
to your application and use role-based access management
strategies to control different types of user behavior in the app. The
application must:
• Display graphics representing the ratio of ingredients in each
drink.
• Allow public users to view drink names and graphics.
Course Project • Allow the shop baristas to see the recipe information.
Identity Access • Allow the shop managers to create new drinks and edit existing
drinks.
Management
This project will give you a hands-on chance to practice and
demonstrate your new skills, such as:
• Implementing authentication and authorization in Flask
• Designing against key security principles
• Implementing role-based control design patterns
• Securing a REST API
• Applying software system risk and compliance principles
LEARNING OUTCOMES
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 7
LEARNING OUTCOMES
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 8
Course 4: Server Deployment and
Containerization
Develop an understanding of containerized environments, use Docker to share and store containers, and
deploy a Docker container to a Kubernetes cluster using AWS
In this project, you will create a container for your Flask web app
using Docker and deploy the container to a Kubernetes cluster
Course Project using Amazon EKS. By the end of the project, you will have deployed
Deploy a Flask App to your application live to the world, where it should be accessible by
IP address. You’ll use automated testing to prevent bad code from
Kubernetes Using EKS
being deployed and monitor your app’s performance using AWS
tools.
In this final capstone project, you will combine all of the new
Course Project skills you’ve learned and developed in this course to construct a
Full Stack Web Developer database-backed web API with user access control. You will choose
what app to build and then you’ll design and build out all of the API
Nanodegree Program
endpoints needed for the application and properly secure
Capstone them for use in any front end application (web or mobile).
LEARNING OUTCOMES
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 9
• Describe and explain container orchestration, how it works
and the general use case
• Describe and explain how Kubernetes manages container
clusters
LESSON TWO Deployment • Deploy a Docker container to a Kubernetes cluster using
AWS EKS and the AWS command line interface (CLI)
• Manage Kubernetes clusters using the AWS CLI
• Implement Continuous Delivery (CD) and Continuous
Integration (CI) with AWS CodePipeline and AWS CodeBuild
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 10
Our Classroom Experience
REAL-WORLD PROJECTS
Build your skills through industry-relevant projects. Get
personalized feedback from our network of 900+ project
reviewers. Our simple interface makes it easy to submit
your projects as often as you need and receive unlimited
feedback on your work.
KNOWLEDGE
Find answers to your questions with Knowledge, our
proprietary wiki. Search questions asked by other students,
connect with technical mentors, and discover in real-time
how to solve the challenges that you encounter.
STUDENT HUB
Leverage the power of community through a simple, yet
powerful chat interface built within the classroom. Use
Student Hub to connect with your fellow students in your
Executive Program.
WORKSPACES
See your code in action. Check the output and quality of
your code by running them on workspaces that are a part
of our classroom.
QUIZZES
Check your understanding of concepts learned in the
program by answering simple and auto-graded quizzes.
Easily go back to the lessons to brush up on concepts
anytime you get an answer wrong.
PROGRESS TRACKER
Stay on track to complete your Nanodegree program with
useful milestone reminders.
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 11
Learn with the Best
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 12
All Our Nanodegree Programs Include:
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 13
Frequently Asked Questions
PROGR AM OVERVIE W
Some examples of job titles that align with your new skills are:
As a front end web developer, you’ll build responsive, dynamic user interfaces
on the web. You’ll leverage your HTML, CSS, and JavaScript skills to manage all
client-side scripting.
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 14
FAQs Continued
and build dynamic software application backend systems using the Python
programming language.
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 15
FAQs Continued
TUITION AND TERM OF PROGR AM
Each project will be reviewed by the Udacity reviewer network. Feedback will
be provided and if you do not pass the project, you will be asked to resubmit
the project until it passes.
S O F T WA R E A N D H A R D WA R E
Need Help? Speak with an Advisor: www.udacity.com/advisor Full Stack Web Developer | 16