Lesson 1
An Introduction to Your Nanodegree Program
Welcome! We're so glad you're here. Join us in learning a bit more about what to expect and ways to succeed.
Asynchronous JavaScript
Intermediate JavaScript
Lesson 1
An Introduction to Your Nanodegree Program
Welcome! We're so glad you're here. Join us in learning a bit more about what to expect and ways to succeed.
Lesson 2
Getting Help
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
In this course, you'll learn fundamental React concepts and create interactive React components for web applications using JSX to render UI, manage state, and handle lifecycle events.
Lesson 1
Why React
In this lesson, you'll learn a bit about why React was built and the functional JavaScript concepts you'll use in React.
Lesson 2
Rendering UI with React
In this lesson, you'll build reusable React components and you'll use JSX to create user interface elements.
Lesson 3
State Management
In this lesson, you'll learn how to manage state in React applications with props, useState, and controlled components
Lesson 4
Hooks
In this lesson, you'll learn how hooks enable state and lifecycle in React components.
Lesson 5
Routing
In this lesson, we'll cover routing in React single-page applications using React Router
Lesson 6 • Project
MyReads: A Book Tracking App
In the MyReads project, you'll create a web application that allows you to select and categorize books you have read, are currently reading, or want to read.
The focus of the course is on managing state in an application. You will learn about Redux and the Redux ecosystem as a powerful tool to help you accomplish this. You will also learn how to use advanced testing techniques using JEST.
Lesson 1
Introduction to the Course
We will look at the course design, prerequisites, tools you'll use in the course, and take a preview look at the final project.
Lesson 2
Managing State
You’ll learn techniques to make your state more predictable by moving your state to a central location and establishing strict rules for getting, listening, and updating that state.
Lesson 3
UI plus Redux
You’ll learn to move away from having state live in the DOM by creating a vanilla JavaScript application whose state is managed entirely by Redux.
Lesson 4
Redux Middleware
You’ll learn to create custom middleware and add it to your Redux store. This middleware will allow you to enhance your store by hooking into and intercepting actions before they reach any reducers.
Lesson 5
Redux with React
You’ll learn how to add React to a Redux application and have the state of that application be managed by Redux.
Lesson 6
Asynchronous Redux
You’ll learn to better abstract asynchronous events by creating your own custom Thunk middleware and adding it to your store.
Lesson 7
React-Redux Bindings
You’ll learn to leverage the react-redux bindings in order to leverage the benefits of a UI library like React and a state management library like Redux.
Lesson 8
Implementing React plus Redux
You’ll take your knowledge of Redux and utilize it by building a real-world Redux application. You’ll also learn advanced Redux topics like reducer composition and normalization.
Lesson 9
Testing with Jest
We will learn how to install and run JEST using synch and async functions, use snapshots, and perform DOM tests with React Testing Library.
Lesson 10 • Project
Project: Employee Polls Web App
HR needs a web app to create polls for employees to post and respond to scenario questions. Employees vote on responses and the dashboard lists employees by the number of polls created and answered.
Congratulations on finishing your program!
Lesson 1
Congratulations!
Congratulations on your graduation from this program! Please join us in celebrating your accomplishments.
Optional Courses
Explore the possibilities of React Native for building hybrid phone apps; learn how to create push notifications, display customer information, and create interactive view for your user!
Lesson 1
Introduction to React Native
Preview foundational concepts and the project in this lesson.
Lesson 2
Mobile Screens and Styling
Learn how to build and style flexible, mobile views in this lesson.
Lesson 3
Navigation in React Native
Become familiar with Mobile Navigation Design by adding a library and planning for design.
Lesson 4
Data Management with Redux
Learn how to setup the Redux Toolkit, create and submit a form in React Native, and transition between mobile screens.
Lesson 5
Native Features
Learn best practices for permissions, how to enable push notifications, and prepare for publication in this lesson!
Lesson 6 • Project
Build a Customer Relationship Management App
In this project, you will be tasked with creating a CRM app so that sale representatives can more easily add and update customer contact information.
This course covers the essentials of using the version control system Git. You'll be able to create a new Git repo, commit changes, and review the commit history of an existing repo. You'll also learn how to keep your commits organized using tags and branches and you'll master the art of merging changes by crushing those pesky merge conflicts. Oh no! Was a mistake made along the way? Learn how to edit commits, revert changes, or even delete commits.
Lesson 1
What is Version Control?
Version control is an incredibly important part of a professional programmer's life. In this lesson, you'll learn about the benefits of version control and install the version control tool Git!
Lesson 2
Create A Git Repo
Now that you've learned the benefits of Version Control and gotten Git installed, it's time you learn how to create a repository.
Lesson 3
Review a Repo's History
Knowing how to review an existing Git repository's history of commits is extremely important. You'll learn how to do just that in this lesson.
Lesson 4
Add Commits To A Repo
A repository is nothing without commits. In this lesson, you'll learn how to make commits, write descriptive commit messages, and verify the changes you're about to save to the repository.
Lesson 5
Tagging, Branching, and Merging
Being able to work on your project in isolation from other changes will multiply your productivity. You'll learn how to do this isolated development with Git's branches.
Lesson 6
Undoing Changes
Help! Disaster has struck! You don't have to worry, though, because your project is tracked in version control! You'll learn how to undo and modify changes that have been saved to the repository.
Lesson 7
Working With Remotes
You'll learn how to create remote repositories on GitHub and how to get and send changes to the remote repository.
Lesson 8
Working On Another Developer's Repository
In this lesson, you'll learn how to fork another developer's project. Collaborating with other developers can be a tricky process, so you'll learn how to contribute to a public project.
Lesson 9
Staying In Sync With A Remote Repository
You'll learn how to send suggested changes to another developer by using pull requests. You'll also learn how to use the powerful `git rebase` command to squash commits together.
GitHub and LinkedIn are both widely used by tech recruiters to find and evaluate job candidates. Get personalized feedback on how to improve yours! You may elect to opt-out of these projects.
Lesson 1 • Project
Take 30 Min to Improve your LinkedIn
Find your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.
Lesson 2 • Project
Optimize Your GitHub Profile
Other professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.