Advanced JavaScript & Object-Oriented Programming
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Advanced JavaScript & Object-Oriented Programming
This course is part of Modern JavaScript from The Beginning [Second Edition] Specialization
Included with
Recommended experience
Recommended experience
What you'll learn
Master asynchronous JavaScript using callbacks, promises, and async/await.
Understand how to handle HTTP requests and manage APIs using the Fetch API.
Apply Object-Oriented Programming principles such as inheritance, prototypes, and classes in JavaScript.
Build full-fledged web applications like a movie app and calorie tracker, utilizing advanced JavaScript features.
Skills you'll gain
Tools you'll learn
Details to know
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 7 modules in this course
Updated in May 2025.
This course now features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. In this course on advanced JavaScript and Object-Oriented Programming (OOP), you’ll gain hands-on experience with asynchronous JavaScript, including callbacks, promises, async/await syntax, and building responsive applications. By the end, you'll be able to manage asynchronous tasks, use the Fetch API for HTTP requests, and create real-world apps like the Joke Generator and Todo list. Additionally, you’ll master OOP concepts such as constructors, prototypes, and inheritance, empowering you to build professional-grade web apps. The course starts by exploring asynchronous programming, where you'll learn how JavaScript handles the event loop, the differences between synchronous and asynchronous execution, and how to use setTimeout, setInterval, and callbacks for delays and repeated tasks. You’ll also understand callback hell and how Promises provide a cleaner, more readable solution. You will dive into async/await syntax and essential error-handling techniques. As you progress, you'll work with the Fetch API to make HTTP requests and manage responses. Projects like the Joke Generator and Todo list will allow you to practice fetching and manipulating data, reinforcing your skills in asynchronous programming. This course is suited for intermediate to advanced JavaScript developers familiar with basic programming concepts. Prior experience with JavaScript syntax and fundamentals is recommended.
In this module, we will explore how asynchronous JavaScript works, including callbacks, promises, and async/await syntax. You will learn how to manage asynchronous tasks effectively, refactor code for better readability, and handle errors gracefully.
What's included
16 videos2 readings1 assignment
16 videos•Total 108 minutes
- Section Introduction•1 minute
- Under the Hood: Thread of Execution•3 minutes
- Under the Hood: How Async JS Works•9 minutes
- setTimeout and clearTimeout Functions•5 minutes
- setInterval and clearInterval Functions•9 minutes
- Callbacks•10 minutes
- Crash Course on HTTP Requests•7 minutes
- DevTools Network Tab•5 minutes
- AJAX and XHR Object•12 minutes
- Joke Generator Project Challenge•10 minutes
- Callback Hell•7 minutes
- Promises•10 minutes
- Callback to Promise Refactor•5 minutes
- Promise Chaining•4 minutes
- Promises Versus Callback Hell•6 minutes
- Handling Multiple Promises with promise.all()•6 minutes
2 readings•Total 20 minutes
- Introduction to the Course 'Advanced JavaScript & Object-Oriented Programming'•10 minutes
- Full Specialization Resources•10 minutes
1 assignment•Total 15 minutes
- Asynchronous JavaScript - Assessment•15 minutes
In this module, we will dive into the Fetch API to retrieve external data and master the async/await syntax for asynchronous programming. You will also practice error handling, and work on mini-projects that integrate real-world API data.
What's included
11 videos1 assignment
11 videos•Total 117 minutes
- Section Introduction•2 minutes
- Fetch Basics•9 minutes
- Random User Mini-Project•13 minutes
- Fetch Options - Method, Body Headers•15 minutes
- Typicode Todos Mini-Project - Part 1•17 minutes
- Typicode Todos Mini-Project - Part 2•14 minutes
- Fetch API Error Handling•13 minutes
- Async and Await•10 minutes
- Try...Catch Statements•5 minutes
- Error Handling with Async and Await•7 minutes
- Multiple Promises with Async and Await•13 minutes
1 assignment•Total 15 minutes
- Fetch API and Async Await - Assessment•15 minutes
In this module, you will apply your knowledge of asynchronous JavaScript and APIs to build a movie app. You’ll learn how to use external APIs to retrieve movie and TV show data and create an engaging, responsive interface with interactive features.
What's included
13 videos1 assignment
13 videos•Total 134 minutes
- Section Introduction•4 minutes
- Theme Overview and Prep•7 minutes
- API Overview and API Key•5 minutes
- Page Router and Active Link•10 minutes
- Display Popular Movies•14 minutes
- Spinner and Popular TV Shows•7 minutes
- Movie Details Page•13 minutes
- Details Page Backdrop•5 minutes
- TV Show Details Page•7 minutes
- Swiper Slider•14 minutes
- Search Functionality•19 minutes
- Display Search Results•12 minutes
- Add Pagination for Search•17 minutes
1 assignment•Total 15 minutes
- Flixx Movie App Project - Assessmet•15 minutes
In this module, we will explore Web Browser APIs, focusing on how to interact with the browser’s capabilities such as geolocation, audio, video, and animation. You’ll build practical projects integrating these APIs to enhance user interaction with your web applications.
What's included
15 videos1 assignment
15 videos•Total 173 minutes
- Section Introduction•2 minutes
- GeoLocation API•12 minutes
- Show Location on a Map•8 minutes
- Canvas Element and API•14 minutes
- requestAnimationFrame() Method•8 minutes
- Animated Clock - Part 1•25 minutes
- Animated Clock - Part 2•11 minutes
- Web Audio API•9 minutes
- Music Player Project•20 minutes
- Drum Machine Project•9 minutes
- Video API•6 minutes
- Video Player Project•13 minutes
- Web Animations API - Ball Project•11 minutes
- Speech Recognition API - Color Say Project•12 minutes
- Speech Synthesis API - Text to Speech•13 minutes
1 assignment•Total 15 minutes
- Web Browser APIs - Assessment•15 minutes
In this module, we’ll introduce the principles of Object-Oriented Programming in JavaScript. You will learn about constructors, prototypes, inheritance, and how the this keyword works in the context of objects, helping you build structured and reusable code.
What's included
12 videos1 assignment
12 videos•Total 81 minutes
- Section Introduction•2 minutes
- What Is OOP?•9 minutes
- Basic Principles of OOP•7 minutes
- More on Object Literals and this Keyword•5 minutes
- Constructor Functions•7 minutes
- Literals Versus Built-In Constructors•10 minutes
- Working with Object Properties•8 minutes
- Prototypes and the Prototype Chain•5 minutes
- Adding Methods to the Prototype•5 minutes
- Using Object.create()•5 minutes
- Prototypical Inheritance and call()•10 minutes
- OOP Game Challenge•8 minutes
1 assignment•Total 15 minutes
- OOP - Constructors and Prototypes - Assessment•15 minutes
In this module, we will continue our OOP journey in JavaScript, focusing on classes, encapsulation with private properties, and using getters and setters. You’ll also explore static methods and learn how they differ from instance methods in class design.
What's included
10 videos1 assignment
10 videos•Total 77 minutes
- Classes•8 minutes
- Class Inheritance•7 minutes
- Static Methods•3 minutes
- bind() and Defining this•5 minutes
- Getters and Setters with Classes•10 minutes
- Getters and Setters with defineProperty()•11 minutes
- Private Property Underscore Convention•12 minutes
- ES2022 Private Class Fields•5 minutes
- Property Flags and Descriptors•9 minutes
- Sealing and Freezing Objects•8 minutes
1 assignment•Total 15 minutes
- OOP - Classes, Getters, Setters, and Private Properties - Assessment•15 minutes
In this project-based module, you will apply your OOP knowledge to build a meal and workout tracker app. By managing classes, data persistence, and user interaction, you’ll create an efficient and scalable application that stores and updates user data using local storage.
What's included
18 videos1 reading3 assignments
18 videos•Total 136 minutes
- Project Introduction•4 minutes
- UI Theme Setup•5 minutes
- Project Planning and Diagram•5 minutes
- Base Tracker, Meal, and Workout Class•10 minutes
- Display Tracker Stats•15 minutes
- Progress Bar and Calorie Alert•10 minutes
- App Class, New Meal, and Workout•13 minutes
- Refactor to Single _newItem Method•5 minutes
- Display New Meal and Workout•8 minutes
- Remove Meal and Workout•12 minutes
- Filter and Reset•11 minutes
- Set Calorie Limit•5 minutes
- Storage Class and Calorie Limit Persist•6 minutes
- Persist Total Calories to Local Storage•5 minutes
- Save Meals to Local Storage•8 minutes
- Save Workouts to Local Storage•4 minutes
- Remove Meals and Workouts from Local Storage•6 minutes
- Clear Storage Items•4 minutes
1 reading•Total 10 minutes
- Conclusion to the Course 'Advanced JavaScript & Object-Oriented Programming'•10 minutes
3 assignments•Total 90 minutes
- Tracalorie App (OOP Project) - Assessment•15 minutes
- Full Course Assessment•60 minutes
- Full Course Practice Assessment•15 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Explore more from Mobile and Web Development
- Status: Free Trial
- Status: Free Trial
Course
- Status: Free Trial
Course
- Status: Free Trial
Course
Why people choose Coursera for their career
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,
