We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

The Modern JavaScript Bootcamp

Andrew Mead

Have you tried to learn JavaScript before?

Read more

Have you tried to learn JavaScript before?

JavaScript is the most popular programming language out there, but that doesn’t mean it’s easy to learn. You end up wasting time on out-of-date courses and incomplete YouTube tutorials that talk about a JavaScript features without showing how to use them when building real-world applications.

Sound familiar?

I built this course to teach you how to build and launch your own JavaScript web applications.

The Modern JavaScript Bootcamp starts from scratch and builds up your knowledge of the JavaScript language. Yes, you’ll learn all the features of the language, but you’ll also learn how to use those features together to create a complete application.

This comprehensive course covers the modern ES6 and ES7 JavaScript features used in the real world. You’ll gain an understanding of the latest cutting-edge language features.

Getting experience writing code on your own is a big part of learning JavaScript. That’s why I’ve included over 80 challenges designed to get you writing code, adding app features, and solving a wide range of problems. These challenges will give you the skills and confidence needed to create your own web application.

There are no starter projects here. You’ll see what it takes to launch a JavaScript application, from the first line of code to the final deployed application.

Who’s this course for?

1. People who are brand new to JavaScript. You want to dive into the world of programming and learn JavaScript. This might be your first programming course, or maybe you’ve worked with other languages before. Either way, you’re ready for this bootcamp.

2. People who currently use JavaScript but want a better sense of mastery over the language. You picked up little tricks and snippets of code because you needed to solve a problem. Now you’re ready to master JavaScript as well as explore the latest from ES6 and ES7.

You’ll learn JavaScript by doing, not watching.

This course is not about watching videos, it’s about writing code. From the start, you’ll be building out each project from scratch as well as completing over 80 challenges designed to test and reinforce what you’ve learned.

During the class, you’ll build three JavaScript applications:

1. The first app, a note-taking app, is our starter application. You’ll learn the fundamentals of JavaScript and see exactly what it takes to build a program that allows users to add, edit, delete, and save their notes.

2. The second app, a to-do application, you’ll be building on your own. This will test your skills and ensure that you have the real-world experience and problem-solving skills that are essential for writing JavaScript code.

3. The last app, a hangman word game, is used to explore the world of asynchronous JavaScript. You’ll learn how to set up applications that rely on data from third-party services that can offer up dynamic, real-time information such as the user’s current location.

Stay current in an ever changing world.

The world of JavaScript is always changing, and that’s why I work to keep this course as up-to-date as possible. You can join knowing you’ll be learning the fundamentals of the language as well as the new language features that keep coming out.

This course uses the latest language features from ES6 and ES7.

Everything you need comes in one easy-to-use package.

There’s no need to worry if you’re learning the right skills to land that JavaScript job or launch that JavaScript app. I’ve mapped out everything you need to know in an interactive, easy-to-follow package designed to get you up and running in a couple of weeks.

By the end, you’ll be able to build and launch your own applications.

There’s no better time to learn JavaScript.

You’ve made a smart choice, because JavaScript is the most popular programming language out there. This is no exaggeration. This popularity and growth means more jobs and opportunities than ever before.

JavaScript powers the web. That means every company out there uses JavaScript, and the demand for JavaScript developers is only increasing. Companies from Google and Apple to Udemy itself all use JavaScript extensively.

JavaScript doesn’t stop with the web. It has quickly become a universal programming language capable of anything. JavaScript can be used to create desktop apps, server-side applications, native iOS/Android applications, and so much more. This course is your ticket into that ecosystem.

Get access to fast support if you get stuck.

There’s nothing worse than getting stuck ten hours into a course and not getting the help you need to continue. Getting stuck is part of the learning process. That’s why I’m here to answer every single question that comes my way.

I’ll work with you to get you unstuck and back on track. It’s one of the reasons students love taking my courses. Don’t take my word for it. Check out the student reviews below.

“This is the absolute best course I've taken on Udemy. Andrew is amazing at explaining things concisely, and the flow of the course is perfect. He doesn't skip over anything and he doesn't over-explain anything. On top of all that, he responds to questions so quickly that you won't be stuck at any point." - Tanya Gamarian

"The lessons are of high quality and even more important, he actually takes time to answer your questions. " - Thomas Vercamer

I guarantee that this is the most up-to-date and engaging JavaScript course available, and it comes with a Udemy 30-day money-back guarantee.

I can’t wait to see you on the inside.

- Andrew

Enroll now

What's inside

Learning objectives

  • Learn javascript by building three real-world web applications
  • Gain a deep understanding of how javascript works behind the scenes
  • Explore the latest cutting-edge features from es6 and es7
  • Test your skills and gain confidence by completing over 80 coding challenges
  • Learn how to deploy your application to the web so you can share them with everyone
  • Learn how to use promises and async/await with asynchronous javascript
  • Get more done by learning how to debug and fix your code when things go wrong
  • Get access to a free 80 page pdf guide with lecture notes, code samples, and documentation links

Syllabus

Course Overview

In this lesson, we'll go over the course curriculum and I'll offer up some tips and tricks for getting the most out of the class!

Read more

In this lesson, you'll learn a bit about the PDF guide that comes with this class.

Setting up Your Machine

In this section, you’ll be setting up your machine for the rest of the course. There are a few things we have to install, and then we’ll start learning how to create JavaScript applications!

In this lecture, you’ll install Visual Studio Code. This is the text editor that we’ll be using throughout the course.

In this video, you’ll install Node.js. This is going to allow us to run JavaScript files on your machine.

This lecture is for Windows users only. You’ll be installing cmder, a console emulator for Windows that’ll make working in the terminal a whole lot easier.

In this video, you’ll learn how to use the terminal. We’ll cover some basic commands that’ll make it possible to run JavaScript files from our machines.

In this lecture, you’ll create and run your first JavaScript script! We’re not going to dive into any complex JavaScript just yet, but this will verify that everything’s been installed correctly.

JavaScript Basics: Variables and Flow Control

In this section, you’re going to learn the very basics of JavaScript. We’ll explore the JavaScript syntax and some of the core building blocks that JavaScript provides. By the end of this section you’ll be able to create basic JavaScript programs!

In this lecture, you’re going to start learning JavaScript! We’ll kick things off by talking about two important things, variables and strings.

In this lesson, you’ll learn about numbers in JavaScript. This includes creating numbers and performing basic arithmetic operations like addition, subtraction, multiplication, and division.

In this lesson, you’ll learn a bit more about variables. We’ll talk about the rules for variable naming and I’ll show you a few common traps you’ll want to avoid.

In this lesson, you’ll be writing an application from scratch. The application is a temperature converter that converts Fahrenheit to Celsius and Kelvin.

In this lesson, you'll learn about our third JavaScript type, the Boolean. You'll also learn how you can compare two things such as two strings or two numbers.

In this video, you’ll learn how to use if statements. These will let you conditionally run JavaScript code.

In this lesson, we’re going to continue looking at the if statement. We know about “if” and “else”, but there’s also an “else if” available to us.

In this lecture, you’re going to learn about the logical “and” and “or” operators. These operators allow you to set up more complex conditional logic involving two or more comparisons.

In this lesson, we’re going to explore variable scope in JavaScript. Variable scope determines where in your program a given variable is accessible.

In this lesson, we’re going to talk about two more scope related topics. The first is shadowing. The second is leaked globals.

JavaScript Functions

In this section, you’re going to learn the very basics of JavaScript. We’ll explore the JavaScript syntax and some of the core building blocks that JavaScript provides. By the end of this section, you’ll be able to create basic JavaScript programs!

In this video, you’re going to create and run your first JavaScript function! Functions are like programs in your programs. It’s a piece of code we can run whenever we want.

In this video, you’re going to learn about two new types, undefined and null.

In this video, we’re going to take a deeper dive into function arguments. You’ll learn how to set up multiple arguments and come up with default argument values if none is provided.

In this lesson, you’ll explore how scope relates to our functions. The scoping rules we learned in the last section still apply!

In this lesson, we’ll cover the template string syntax. This will allow you to create a string using other strings, numbers, and Booleans.

In this lesson, it’s up to you to build a grade calculator. Give the student’s score and the total number of points; you’re going to generate a message that uses the letter grade.

JavaScript Objects

In this section, you’re going to learn about objects in JavaScript. Objects allow us to store related information in a single place. This is useful when dealing with something like a user, a book, or a car. We can store all the properties of the book such as the title, author, and number of pages in a single place.

In this video, you’re going to learn the basics of JavaScript objects. You’ll learn how to create a new object and how to read and modify your objects.

In this lesson, you’re going to explore how you can use objects with functions. This includes calling functions with object arguments and returning objects from functions.

In this video, we’re going to explore what happens when we pass object around our program.

In this video, you'll be writing an expense tracker application using what you've learned about JavaScript so far.

In this video, you’re going to learn about methods. A method is nothing more than an object property with a value set to a function.

In this video, we’re going to turn our attention from methods we’ve written to methods that are built into the language. The focus will be on methods for our strings.

In this video, you’re going to explore more of the built-in methods we have access to in JavaScript. Our focus will be on numbers.

In this video, you’re going to learn about an alternative way to create variables. This will allow you to better describe what your program is doing.

In this video, you’re going to learn about a third way to create variables in JavaScript. While this isn’t a tool I’d recommend using anymore, it’s important to understand, as you’ll likely see it out in the real world.

JavaScript Arrays

In this section, you’re going to explore arrays in JavaScript. Arrays allow us to store a list of items. This could be a list of strings, numbers, objects, or any other type in JavaScript.

In this video, you’re going to learn the basics of JavaScript arrays. You’ll learn how to create new arrays and how to read items from your arrays.

In this video, you’re going to learn how to manipulate an existing array. This includes adding, removing, alerting, and replacing array items.

In this video, you’re going to learn how to loop over arrays. This will allow you to do something for each item in your list, such as showing them to your users.

The For Loop

In the next two videos, you’re going to learn how to search for items in an array.

This video is a continuation of the last one. You’ll continue to explore array searching.

In this video, you’re going to learn how to filter arrays. Imagine you want to filter all the todos down to just the todos that still need to be completed.

In this video, you’ll learn how to sort your arrays. It doesn’t make much sense to have completed todos at the top of the list. What if we could keep the completed ones at the bottom and the incomplete ones up top?

In this video, it’s going to be up to you to build out a new version of our expense tracker.

Javascript in the Browser

In this section, you’re going to learn how to use JavaScript in the browser. This will let you create website that can request information from the user and render dynamic content. We also start building out the UI for the note taking application and the to-do app.

In this video, you’re going to install a web server and create a bare-bones HTML file. By the end you’ll have a URL you can visit in the browser to view the simple website.

In this video, you’re going to run JavaScript in the browser. You’ll learn how to connect your script with your HTML so your script runs when the pages load. This will allow you to create dynamic web apps as opposed to static websites.

In this lesson, you’re going to learn about the DOM (Document Object Model). The DOM is what allows you to change what the user sees by modifying the HTML document from JavaScript.

In this video, you’re going to use what you’ve learned about DOM manipulation.

In this video, you’re going to learn how to add a new element to a web page via the DOM. This is useful when it comes to rendering a dynamic web page. You’ll be using this to render your application data such as the list of to-do items to be completed.

In this video, you’ll learn how to handle user interaction. This will allow us to respond to things the user does like clicking a button or entering some text in a field.

In this video, you’re going to learn how to better select DOM elements. Selecting by tag name is great, but that’s not going to work well once we have multiple elements on the page with the same tag name.

In this video, you’re going to set up your first text input. This will allow your app users to type in a value such as their name, email, or anything else.

In this video, you’ll explore how to set up live data filtering. This will allow users of the notes app to filter their notes by entering part of the note title in a text input.

In this challenge video, you’ll be setting up filter for the to-do application. Get to it!

In this video, you’re going to create your first form. At first, the forms will only use text inputs. Other field types like checkboxes and dropdowns will be explored later in this section.

In this video, you’re going to learn about the checkbox. You’ll learn how to set up a checkbox and respond to changes when the box is checked and unchecked.

In this video, you’re going to learn about the dropdown. You’ll learn how to set up the dropdown, configure its options, and respond to changes when a new option is picked.

Data Storage, Libraries, and More

In this section, you’re going to continue working on the note and to-do applications. You’ll learn how to save user data and work with third-party libraries.

In this video, you’ll learn about local storage. This is a storage mechanism built right into the browser. This is going to allow us to store notes and to-dos for later. We’ll cover the basic CRUD operations (create, read, update, delete).

In this video, you’ll start integrating local storage into the apps. This will allow users to add some to-dos or notes and pick up where they left off.

In this video, we’re going to spend a bit of time refactoring our code. This is going to improve the quality and organization of our code without changing the application’s behavior.

In this video, you’re going to refactor the to-do application using what you learned in the last video.

In this video, you’re going to learn how to debug your JavaScript code. This will reduce the amount of time you spend tracking down small typos.

In this video, you’re going to learn how to render more real-world elements to the DOM. Rendering a single element is fine, but what if we want a checkbox, some text, and a delete button for each to-do item?

In this video, you’re going to work with your first third-party JavaScript library. Third-party libraries allow you to use code written by others.

In this video, you’re going to target your note and to-dos by their id. This will allow you to read their data, update the data, or remove the item altogether.

Checkbox Challenges

In this video, you’re going to set up a second HTML page for our note application. This is where we’ll allow users to edit the note’s title and body content.    

In this video, you’re going to learn how to pass an id between pages. This is going to allow us to tell the edit page which note we want to edit.

In this video, you’re going to set up real-time data syncing across pages. If data changes on one page, all other pages will be automatically updated.

In this video, you’re going to learn about the built-in date in JavaScript. This gives you a way to work with dates and time in your application.

Does JavaScript come with built-in support for dates? Yup. Is it fun to use? Nope. In this video, you’ll learn about moment.js, a third-party JavaScript library that makes working with dates better.

In this video, you’re going to start integrating moment into the notes application.

In this video, you’re going to finish integrating moment into the notes application.

Take a Break
Expanding Our JavaScript Knowledge

In this section, you’ll continue learning new language features. The focus here is on improving our code quality and creating cleaner code. You’ll learn about the arrow function, the conditional operator, type coercion, and more.

In this video, you’re going to learn about arrow functions. You’ll learn what they are and how they differ from the functions we’ve created so far.

In this video, you’re going to stick with arrow functions. We’ll be exploring a few more features as well as integrating them into the notes and to-do applications.

In this video, you’re going to learn about the conditional operator. This is a nice shorthand for an if/else statement where you want to do one of two things.

In this video, you’re going to learn about truthy and falsy values in JavaScript. This allows us to reduce the complexity of our conditionals.

In this video, you’re going to learn about type coercion. Type coercion is the process of converting a value from one type, such as a number, to another type, such as a string.

In this video, you’re going to learn how to work with errors in JavaScript. This covers both sides, how we can create errors and how we can recover from them.

In this video, you’re going to integrate a try/catch statement into the to-do and note application. This is going to let us respond to errors thrown by JSON.parse when invalid JSON is parsed.

In this video, you’re going to learn about strict mode in JavaScript. When you enable strict mode, you’re opting-in to a modified version of JavaScript that removes dangerous and potentially buggy behavior.

Advanced Objects and Functions

In this section, you’re going to explore how JavaScript handles inheritance via prototypal inheritance. This includes the new operator, the constructor function, the class syntax, and more.

In this video, you’re going to be introduced to object-oriented programming. You’ll explore what it is and why it’s a useful tool when working with JavaScript.

In this video, you’re going to build and use a constructor function. Constructor functions allow us to define new types in JavaScript other than the built-in types.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores advanced JavaScript features, such as Promises and Async/Await which are important in asynchronous JavaScript
Teaches best practices for debugging and fixing JavaScript code, which is essential in modern software development
Taught by Andrew Mead, who is recognized for their work in JavaScript education
Examines the latest ES6 and ES7 features of JavaScript, which are important for keeping up with modern web development practices
Builds a strong foundation for beginners in the fundamentals of JavaScript, making it suitable for those with no prior knowledge
Strengthens an existing foundation for intermediate learners, providing opportunities to enhance their JavaScript skills
This course explicitly requires that this course be taken in serial with others as part of a series

Save this course

Save The Modern JavaScript Bootcamp to your list so you can find it easily later:
Save

Reviews summary

Highly recommended javascript bootcamp

According to students, this JavaScript bootcamp is well received, highly recommended, and comprehensive. Andrew is a great teacher who provides fabulous explanations and engaging challenges.
This course is packed with tons of information.
"This course is packed with tons of information"
Andrew is a great teacher.
"Andrew is a great teacher."
"Andrew takes you thorough it with fabulous explanations and challenges that reinforce what you've learned."
The course includes engaging challenges.
"Andrew takes you thorough it with fabulous explanations and challenges that reinforce what you've learned."

Career center

Learners who complete The Modern JavaScript Bootcamp will develop knowledge and skills that may be useful to these careers:
Backend Developer
The Modern JavaScript Bootcamp is a useful course for Backend Developers, who typically are responsible for designing, developing, and maintaining the server-side of web applications. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Backend Developers who want to build more complex and efficient applications.
Full-Stack Developer
The Modern JavaScript Bootcamp is a valuable asset for Full-Stack Developers, who need to have a strong understanding of both the front-end and back-end of web development. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Full-Stack Developers who want to build more complex and efficient applications.
Front-End Developer
Aspiring Front-End Developers can benefit from The Modern JavaScript Bootcamp. Front-End Developers are responsible for the design and implementation of the user interface of web applications. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Front-End Developers who want to build more complex and efficient applications.
Web Developer
The Modern JavaScript Bootcamp provides crucial knowledge for aspiring Web Developers. Web Developers are responsible for designing, developing, and maintaining websites. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Web Developers who want to build more complex and efficient websites.
Software Developer
The Modern JavaScript Bootcamp provides a strong foundation for aspiring Software Developers. Software Developers are responsible for designing, developing, and maintaining software applications. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Software Developers who want to build more complex and efficient applications.
Computer Programmer
The Modern JavaScript Bootcamp may be helpful for aspiring Computer Programmers. Computer Programmers are responsible for writing and maintaining the code that powers computer applications. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Computer Programmers who want to build more complex and efficient applications.
Software Engineer
The Modern JavaScript Bootcamp may be useful for those interested in becoming Software Engineers. Software Engineers are responsible for designing, developing, and maintaining software systems. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Software Engineers who want to build more complex and efficient applications.
Machine Learning Engineer
The Modern JavaScript Bootcamp may be helpful for aspiring Machine Learning Engineers. Machine Learning Engineers are responsible for designing, developing, and maintaining machine learning models. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Machine Learning Engineers who want to build more complex and efficient machine learning models.
Data Scientist
The Modern JavaScript Bootcamp may be helpful for aspiring Data Scientists. Data Scientists are responsible for collecting, analyzing, and interpreting data. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Data Scientists who want to build more complex and efficient data analysis tools.
Data Analyst
The Modern JavaScript Bootcamp may be helpful for aspiring Data Analysts. Data Analysts are responsible for collecting, analyzing, and interpreting data. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Data Analysts who want to build more complex and efficient data analysis tools.
Business Analyst
The Modern JavaScript Bootcamp may be helpful for aspiring Business Analysts. Business Analysts are responsible for analyzing business needs and developing solutions to improve efficiency and productivity. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Business Analysts who want to build more complex and efficient business analysis tools.
Product Manager
The Modern JavaScript Bootcamp may be helpful for aspiring Product Managers. Product Managers are responsible for defining, developing, and launching new products. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Product Managers who want to build more complex and efficient product management tools.
Project Manager
The Modern JavaScript Bootcamp may be helpful for aspiring Project Managers. Project Managers are responsible for planning, executing, and closing projects. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Project Managers who want to build more complex and efficient project management tools.
IT Support Specialist
The Modern JavaScript Bootcamp may be helpful for aspiring IT Support Specialists. IT Support Specialists are responsible for providing technical support to users of computer systems and software. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be helpful for IT Support Specialists who want to build more complex and efficient IT support tools.
Technical Writer
The Modern JavaScript Bootcamp may be helpful for aspiring Technical Writers. Technical Writers are responsible for creating user guides, technical documentation, and other materials that explain complex technical concepts. This course covers the basics of JavaScript as well as advanced topics such as prototypal inheritance, which can be beneficial for Technical Writers who want to build more complex and efficient technical documentation.

Reading list

We've selected 15 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in The Modern JavaScript Bootcamp.
Comprehensive guide to JavaScript, covering everything from the basics to advanced topics. It is written in a clear and concise style, and it is packed with examples and exercises. This book great choice for anyone who wants to learn JavaScript or improve their skills.
Collection of essays by Douglas Crockford, one of the most influential JavaScript developers. It covers a wide range of topics, from the basics of the language to advanced topics such as closures and functional programming. This book great choice for anyone who wants to learn more about the inner workings of JavaScript.
Series comprehensive guide to JavaScript. It covers everything from the basics to advanced topics. This book series great choice for anyone who wants to learn more about JavaScript or improve their skills.
Comprehensive reference guide to JavaScript. It covers everything from the basics to advanced topics. This book great choice for anyone who wants to learn more about JavaScript or use it as a reference.
Comprehensive guide to Node.js. It covers everything from the basics to advanced topics. This book great choice for anyone who wants to learn more about Node.js or use it in their projects.
Comprehensive guide to React. It covers everything from the basics to advanced topics. This book great choice for anyone who wants to learn more about React or use it in their projects.
Collection of programming interview questions and solutions. It covers a wide range of topics, from data structures to algorithms. This book great choice for anyone who is preparing for a programming interview.
Collection of essays on software development. It covers a wide range of topics, from code quality to software ethics. This book great choice for anyone who wants to improve their software development skills.
Fun and engaging introduction to algorithms. It uses a visual approach to teaching, with lots of diagrams and examples. This book great choice for anyone who wants to learn more about algorithms or improve their problem-solving skills.
Collection of advanced JavaScript techniques. It covers a wide range of topics, from performance optimization to security. This book great choice for anyone who wants to learn more about advanced JavaScript techniques.
Collection of JavaScript design patterns. It covers a wide range of patterns, from the basics to advanced patterns. This book great choice for anyone who wants to learn more about design patterns in JavaScript.
Fun and engaging introduction to JavaScript. It uses a visual approach to teaching, with lots of diagrams and examples. This book great choice for anyone who wants to learn JavaScript quickly and easily.
Fast-paced introduction to JavaScript for experienced programmers. It covers the basics of the language as well as more advanced topics such as closures and functional programming. This book great choice for anyone who wants to learn JavaScript quickly and efficiently.
Great introduction to JavaScript for kids. It uses a playful approach to teaching, with lots of games and activities. This book great choice for anyone who wants to teach their kids about programming.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser