0% found this document useful (0 votes)
96 views

0-Udacity Enterprise Syllabus Full Stack JavaScript Developer nd0067

Uploaded by

Amir Marmul
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views

0-Udacity Enterprise Syllabus Full Stack JavaScript Developer nd0067

Uploaded by

Amir Marmul
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

T HE S CHO OL OF PRO GR A MMING A ND DE V ELOPMEN T

Full Stack
JavaScript Developer

NANODEGREE SYLLABUS
Overview

Full Stack JavaScript Developer Nanodegree Program

The goal of the Full Stack JavaScript Developer


Nanodegree program is to equip learners with Program Information
everything a developer needs to build rich TIME
experiences delivered with the web using a 4 months
modern architecture and technology stack. Study 10 hours/week
Learners will cover everything from building
UI and UX to creating APIs and server side LEVEL
business logic, and developing the persistence Practitioner
layer to store, process and retrieve data.
PREREQUISITES
A graduate of this program will be able to:
• Fundamental programming
• Build client-side experiences and applications
concepts
using Angular, collecting data from users and from
• JavaScript object-oriented
backends, providing rich user interactions and
organizing code and data. programming features
• HTML and CSS
• Build server-side executed code with TypeScript
• DOM events
and integrate with 3rd party code such as Angular’s
• Simple programs in JavaScript
Server Side Rendering.
• JSON object
• Leverage Express.js to architect and build APIs that
power dynamic functionality and to generate and
supply data to web and mobile clients. LEARN MORE ABOUT THIS
• Persist data to a database, query and retrieve data NANODEGREE
and pass this data all the way through to various Contact us at enterpriseNDs@
client devices. udacity.com.

2 THE SCHOOL OF PROGR AMMING AND DEVELOPMENT


Our Classroom Experience

REAL-WORLD PROJECTS
Learners build new skills through industry-relevant
projects and receive personalized feedback from our
network of 900+ project reviewers. Our simple user
interface makes it easy to submit projects as often as
needed and receive unlimited feedback.

KNOWLEDGE
Answers to most questions can be found with
Knowledge, our proprietary wiki. Learners can search
questions asked by others and discover in real-time
how to solve challenges.

WORKSPACES
Learners can check the output and quality of their
code by testing it on interactive workspaces that are
integrated into the classroom.

QUIZZES
Understanding concepts learned during lessons is
made simple with auto-graded quizzes. Learners can
easily go back and brush up on concepts at anytime
during the course.

CUSTOM STUDY PLANS


Create a custom study plan to suit your personal
needs and use this plan to keep track of your progress
toward your goal.

PROGRESS TRACKER
Personalized milestone reminders help learners stay
on track and focused as they work to complete their
Nanodegree program.

Learn More at WWW.UDACITY.COM/ENTERPRISE FULL STACK JAVA SCRIPT DEVELOPER


Learn with the Best

Guillaume Bibeau Rachel Manning


Laviolette F U L L S TA C K D E V E L O P E R

S O F T WA R E E N G I N E E R Rachel is a full stack freelance


developer and educator. As an
Guillaume is a software developer that
advocate for continued learning,
has worked for companies such as
she is passionate about mentoring
Shutterstock and Filevine as a software
women and the underserved
and cloud engineer. He obtained his
community in technology.
bachelor’s of statistics and probability
at McGill University in Canada.

Alyssa Hope Andrew Wong


S O F T WA R E E N G I N E E R F U L L S TA C K E N G I N E E R

Alyssa is a full stack developer who Andrew is a full stack engineer


was previously the lead instructor at who enjoys making the world a
a coding bootcamp. With a degree better place through code. He first
in International Communications, discovered his passion for teaching
her passion is to express thoughts as an instructor at App Academy,
well, whether in code or writing. and continues to enjoy empowering
students to advance their education.

4 THE SCHOOL OF PROGR AMMING AND DEVELOPMENT


Nanodegree Program Overview

Course 1: Backend Development with Node.js


There are quite a few technologies involved to build the backend of an application that’s enterprise ready.
This course introduces the fundamental tools needed to build a basic API in a way that is both scalable,
and maintainable. The course will go through working with Node.js and the core modules available, writing
TypeScript for developer error reduction, testing with Jasmine to introduce unit testing in a Test Driven
Development environment and working with Express as a framework for building APIs.

Project Image Processing API

Students will be designing an API for image processing that allows the user to visit a url and using url
parameters, resize the image based on the parameters provided. Upon viewing an image that’s already
been resized, a cached image will be served. This is the core functionality seen in placeholder image
websites and can be implemented with a frontend to better serve appropriately sized images. The API
presents the first opportunity to pull together the technologies of the course and tie them together in a
commonly used application.

LESSON TITLE LEARNING OUTCOMES

• Understand why to use Node.js.


• Install and understand how Node.js is updated.
• Understand the event loop and control how asynchronous code is
processed.
GETTING STARTED • Use Node.js REPL to write js expressions, then just Node.js to run a js
WITH NODE.JS file.
• Extend JavaScript by using global variables and functions not
available in the browser.
• Use NPM init to create a package.json/lock to install dependencies
and configure scripts.

Learn More at WWW.UDACITY.COM/ENTERPRISE FULL STACK JAVA SCRIPT DEVELOPER


Nanodegree Program Overview

LESSON TITLE LEARNING OUTCOMES

• Take advantage of strict typing to reduce error by installing


TypeScript to work with Node.js.
DEVELOPING WITH • Create valid, formatted, readable TypeScript by configuring ESLint/
TYPESCRIPT Prettier to work with TypeScript.
• Type variables, functions and objects with TypeScript.
• Manage async/await, promises and error handling with TypeScript

• Install Jasmine and configure it to work with JavaScript after


TypeScript has been compiled.
UNIT TESTING
• Organize, write and run unit tests.
WITH JASMINE
• Create asynchronous tests and use Supertest to perform endpoint
tests.

• Build a server by applying the top features of Express’s root


app object.
BUILDING A SERVER • Improve an application by creating and applying middleware.
• Take advantage of the file system by learning to write and read files
from disk.

6 THE SCHOOL OF PROGR AMMING AND DEVELOPMENT


Nanodegree Program Overview

Course 2: Creating an API with PostgreSQL


and Express
This course covers the primary skills required for API development. Students will build a RESTful JSON
API with Node and Postgres. Along the way, you will cover essential topics like databases and querying,
API architecture, database migrations, REST, CRUD, creating a testing environment, password hashing
and route authorization via JWTs. By completing the exercises and course content, students will gain the
knowledge to create a secure, well organized API from scratch and learn skills JavaScript developers use
every day.

Project Build a Storefront Backend

Students will imagine themselves as a full stack developer at a small company, asked to craft an API
to meet a set of requirements created by business stakeholders and to be consumed by a front end
developer coworker. You will use skills and understanding from the course to discern the best architecture,
endpoint structure and database schema to complete the task. Modeled after a workplace environment
and true to life task, in this project you will demonstrate that you can reason through the design of an API
and are capable of writing the code and logic necessary to meet requirements.

LESSON TITLE LEARNING OUTCOMES

• Understand what databases are.


• Gain visibility into the most popular types of databases, their
respective strengths and use cases.
• Become familiar with Relational Databases.
DATABASES • Connect to a database with interactive terminal psql.
AND SQL
• Write basic database queries with SQL.
• Create, structure and fill a Postgres database.
• Know what CRUD is and how it pertains to database actions.
• Understand when and how to use SQL filters and foreign keys.

Learn More at WWW.UDACITY.COM/ENTERPRISE FULL STACK JAVA SCRIPT DEVELOPER


Nanodegree Program Overview

LESSON TITLE LEARNING OUTCOMES

• Set up a Node application to connect to a postgres database.


• Install a Node package dotenv for environment variables.
• Learn best practices for using environment variables.
CREATING AN API • Create Models in Node.
WITH POSTGRES
• Understand the need for database migrations.
CONNECTION
• Install a Node package for database migrations.
• Set up a testing environment with a separate testing database.
• Testing models with Jasmine.

• Understand RESTful APIs and how to design one.


• Understand the full stack request/response loop through the API.
CREATING AN API
• Be introduced to what CORS is and when it is necessary.
WITH EXPRESS
• Write Express custom middleware.
• Write clean, well organized Express routes that mirror API structure.

• Be familiar with password hashing, salt and pepper.


• Understand why these practices are important for data security.
AUTHENTICATION
• Install a Node package Bcrypt and learn to set up Bcrypt for
& AUTHORIZATION password hashing at user creation.
IN A NODE API
• Understand what JWTs are and how they work.
• Implement route authorization with JWTs.

• Understand database relationships and when to implement them.


• Create RESTful routes that demonstrate relationships between data
via well organized routes.
• Write custom model and handler methods for extending API
SQL FOR endpoints.
ADVANCED API
• Understand SQL Joins and result ordering.
FUNCTIONALITY
• Write informational API endpoints to support dashboard
functionality.
• Organize more advanced business logic in a Node API for cleaner
code and separation of concerns.

8 THE SCHOOL OF PROGR AMMING AND DEVELOPMENT


Nanodegree Program Overview

Course 3: Angular Fundamentals


In Angular Fundamentals, students will learn the most important and foundational skills for building Single
Page Applications (SPAs). You will discover the architecture of an application, explore how to retrieve and
flow data throughout an application, and see how applications scale in a maintainable and performant
way. Upon completion of the course, you will be able to build new and expand existing Angular applications
with new components and features, architect an Angular application for clarity and maintainability while
following best practices and create and use dependencies such as services and third-party libraries to
enrich and extend applications.

Project My Store

In this project, students will build a full single-page ecommerce application with Angular called MyStore.
Your application will contain a variety of different Angular components that communicate with each other,
such as a product list component that renders a list of items for which a user can shop. You’ll pull this
data by making requests to a backend API, then populate your page with items that can be added to the
shopping cart.

You’ll build and nest these components in a logical structure for optimal navigation and routing, such as
bringing users to a product detail page. Through using services, among other tools, you’ll be able to share
data with any component that needs it, such as your shopping cart. Your application will also be able to
handle and respond to user input, through Angular’s powerful template-driven forms.

LESSON TITLE LEARNING OUTCOMES

• Set up and install the Angular CLI.


• Scaffold a new application using the Angular CLI.
ANGULAR • Generate a component.
OVERVIEW • Organize components into closely-related sets of capabilities (i.e.,
modules).

Learn More at WWW.UDACITY.COM/ENTERPRISE FULL STACK JAVA SCRIPT DEVELOPER


Nanodegree Program Overview

LESSON TITLE LEARNING OUTCOMES

• Build a component by defining a class containing application data


and logic.
• Build templates to represent an application’s user interface.
COMPONENTS • Use data binding to re-render the application by detecting changes in
state.
• Extend the style or behavior of HTML elements with directives.
• Use the Angular router to handle navigation between views.

• Extend Angular’s base functionality by importing libraries and


modules.
LIBRARIES &
• Use dependency injection to provide custom services and
SERVICES capabilities.
• Find, add and manage an application’s dependencies.

• Fetch data via HTTP with the HTTP Client Module.


DATA • Collect user input by building template-driven forms.
• Validate user input.

10 THE SCHOOL OF PROGR AMMING AND DEVELOPMENT


Nanodegree Program Overview

Course 4: Deployment Process


Being able to deploy your own application is a skill that is often overlooked by developers, thus making
it a rare and valuable skill to have! This course will teach the necessary knowledge to create your
own production environment and automate the deployment of code to it. By building an automated
pipeline and scripts students will gain insights into the world of automated deployments that has been
revolutionizing how fast companies are able to deliver features to their customers.

Project Hosting a Full Stack Application

Students will be hosting and creating an automated deployment pipeline for a full stack application. You
will have the option of using your own project or using a provided full stack application. During the project
students will provision AWS infrastructure and prepare the application for hosting it. After this is done, you
will move on to creating different scripts for deploying the application and creating a deployment pipeline.
This project will expose students to a key process that is present on most software development projects.

LESSON TITLE LEARNING OUTCOMES

• Create and configure a Postgres database in RDS.


SETTING UP A • Start an elastic beanstalk environment using the pre-configured
PRODUCTION node template.
ENVIRONMENT • Create environment properties in Elastic Beanstalk .
• Create an S3 bucket and configure it for web hosting.

• Ensure an application is healthy by using the Elastic Beanstalk CLI.


• Apply code changes in an S3 bucket by using the AWS CLI to update
INTERACT WITH
the bucket content.
CLOUD SERVICES
• Apply code changes in Elastic Beanstalk by using the EB CLI to deploy
a new application version.

Learn More at WWW.UDACITY.COM/ENTERPRISE FULL STACK JAVA SCRIPT DEVELOPER


Nanodegree Program Overview

LESSON TITLE LEARNING OUTCOMES

• Create scripts to build back-end and front-end applications.


WRITE SCRIPTS FOR • Create scripts to deploy different pieces of a full stack application.
WEB APPLICATIONS • Create scripts that ensure a build follows quality standards.
• Create a root level script to install all application dependencies.

• Connect a repository to CirceCi.


CONFIGURE AND • Create a manual approval step for deployments.
DOCUMENT A • Create an automated integration process.
PIPELINE • Create documentation using markdown files and diagrams.
• Create an automated deployment process.

Learn More at WWW.UDACITY.COM/ENTERPRISE FULL STACK JAVA SCRIPT DEVELOPER


Our Nanodegree Programs Include:

Pre-Assessments Dashboard & Progress Reports


Our in-depth workforce assessments Our interactive dashboard (enterprise
identify your team’s current level of management console) allows administrators
knowledge in key areas. Results are used to to manage employee onboarding, track
generate custom learning paths designed course progress, perform bulk enrollments
to equip your workforce with the most and more.
applicable skill sets.

Industry Validation & Reviews Real World Hands-on Projects


Learners’ progress and subject knowledge Through a series of rigorous, real-world
is tested and validated by industry experts projects, your employees learn and
and leaders from our advisory board. These apply new techniques, analyze results,
in-depth reviews ensure your teams have and produce actionable insights. Project
achieved competency. portfolios demonstrate learners’ growing
proficiency and subject mastery.

Learn More at WWW.UDACITY.COM/ENTERPRISE FULL STACK JAVA SCRIPT DEVELOPER


Our Review Process

Real-life Reviewers for Real-life Projects Vaibhav


Real-world projects are at the core of our Nanodegree programs UDACITY LEARNER
because hands-on learning is the best way to master a new skill.
Receiving relevant feedback from an industry expert is a critical part
of that learning process, and infinitely more useful than that from “I never felt overwhelmed while pursuing the
peers or automated grading systems. Udacity has a network of over Nanodegree program due to the valuable support
900 experienced project reviewers who provide personalized and of the reviewers, and now I am more confident in
timely feedback to help all learners succeed. converting my ideas to reality.”

now at

All Learners Benefit From: CODING VISIONS INFOTECH

Line-by-line feedback Industry tips and Advice on additional Unlimited submissions


for coding projects best practices resources to research and feedback loops

• Go through the lessons and work on the projects that follow


How it Works
• Get help from your technical mentor, if needed
Real-world projects are
• Submit your project work
integrated within the
classroom experience, • Receive personalized feedback from the reviewer
making for a seamless • If the submission is not satisfactory, resubmit your project
review process flow. • Continue submitting and receiving feedback from the reviewer
until you successfully complete your project

About our Project Reviewers


Our expert project reviewers are evaluated against the highest standards and graded based on learners’ progress.
Here’s how they measure up to ensure your success.

900+ 1.8M 3 4.85


/5
Expert Project Projects Reviewed Hours Average Average Reviewer
Reviewers Our reviewers have Turnaround Rating
Are hand-picked extensive experience You can resubmit your Our learners love the
to provide detailed in guiding learners project on the same quality of the feedback
feedback on your through their course day for additional they receive from our
project submissions. projects. feedback. experienced reviewers.

14 THE SCHOOL OF PROGR AMMING AND DEVELOPMENT


Udacity © 2021

2440 W El Camino Real, #101


Mountain View, CA 94040, USA - HQ

For more information visit: www.udacity.com/enterprise

You might also like