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.