JavaScript Fundamentals & The DOM
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
JavaScript Fundamentals & The DOM
This course is part of Modern JavaScript from The Beginning [Second Edition] Specialization
Included with
Recommended experience
Recommended experience
What you'll learn
Learn how to write and debug JavaScript code using tools like the browser console.
Understand variables, data types, and functions to build dynamic web applications.
Master DOM manipulation to interact with and modify web pages.
Handle JavaScript events to create responsive, interactive websites.
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 9 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. This course provides a solid foundation in JavaScript and DOM manipulation, essential for web development. By the end, you’ll be able to build interactive web applications. You’ll work through hands-on projects and challenges that reinforce key concepts and make learning engaging. The course starts with JavaScript basics, covering variables, data types, operators, and methods. You’ll then progress to more advanced topics like arrays, objects, functions, and the JavaScript execution context. You’ll also learn logic and control flow, enabling you to write complex decision-making code using if statements, loops, and logical operators. The course further covers high-order array methods and efficient iteration techniques with loops. As you advance, you’ll master the Document Object Model (DOM) to interact with web elements, modify properties, and manage styles and classes. You’ll learn techniques for selecting, appending, replacing, and removing elements, as well as how to handle user events to create interactive webpages. Designed for beginners with no prior programming experience, this course will make you proficient in JavaScript and DOM manipulation. You’ll complete practical coding exercises and a final project, where you'll build a shopping list app, reinforcing your skills and preparing you for more advanced web development challenges.
In this module, we will introduce the course, provide an overview of the key topics and projects, and outline the tools and technologies you'll need to succeed. You'll be guided through setting up your development environment, ensuring you're ready to dive into JavaScript fundamentals.
What's included
5 videos2 readings
5 videos•Total 31 minutes
- Introduction to the Specialization•2 minutes
- Specialization Outline and Projects•8 minutes
- What Is JavaScript?•8 minutes
- Tools and Setup•5 minutes
- Running JavaScript in the Browser•7 minutes
2 readings•Total 20 minutes
- Introduction to the Course 'JavaScript Fundamentals & The DOM'•10 minutes
- Full Specialization Resources•10 minutes
In this module, we will cover the basics of JavaScript programming, including how to work with variables, data types, and operators. You'll also learn how to use JavaScript methods to manipulate strings and numbers, providing you with the tools to write basic programs and solve problems.
What's included
17 videos1 assignment
17 videos•Total 138 minutes
- Section Introduction•1 minute
- The Sandbox Files•3 minutes
- Using the Console•10 minutes
- Comments and Shortcuts•7 minutes
- Variables and Constants•12 minutes
- Data Types•13 minutes
- Primitive Versus Reference Types•7 minutes
- Type Conversion•10 minutes
- Operators•10 minutes
- Type Coercion•4 minutes
- Working with Strings•16 minutes
- Capitalize Challenge•7 minutes
- Working with Numbers•6 minutes
- The Math Object•6 minutes
- Number Challenge•9 minutes
- Dates and Times•8 minutes
- Date Methods and DateTimeFormat API•9 minutes
1 assignment•Total 15 minutes
- Variables, Data Types, Methods, and More - Assessment•15 minutes
In this module, we will dive deep into arrays and objects in JavaScript, exploring how to create, modify, and access their elements. You'll also learn how to work with JSON data and destructuring, enhancing your ability to handle complex data structures in real-world applications.
What's included
10 videos1 assignment
10 videos•Total 79 minutes
- Section Introduction•1 minute
- Creating Arrays•7 minutes
- Basic Array Methods•11 minutes
- Nesting, Concat and the Spread Operator•10 minutes
- Array Challenges•7 minutes
- Object Literals•8 minutes
- Object Spread Operator and Methods•12 minutes
- Destructuring and Naming•7 minutes
- JSON Introduction•9 minutes
- Object Challenges•6 minutes
1 assignment•Total 15 minutes
- Arrays and Objects - Assessment•15 minutes
In this module, we will explore the concept of functions in JavaScript, focusing on how they work within different scopes. You'll also gain an understanding of how JavaScript handles execution context, a key concept for managing function calls and variable lifecycles.
What's included
13 videos1 assignment
13 videos•Total 80 minutes
- Section Introduction•2 minutes
- Creating a Function•6 minutes
- More on Arguments and Parameters•10 minutes
- Global and Function Scope•5 minutes
- Block Scope•5 minutes
- Nested Scope•3 minutes
- Declaration Versus Expression•4 minutes
- Arrow Functions•8 minutes
- Immediately Invoked Function Expressions (IIFE)•5 minutes
- Function Challenges•12 minutes
- Execution Context•9 minutes
- Execution Context in Action•4 minutes
- The Call Stack•5 minutes
1 assignment•Total 15 minutes
- Functions, Scope, and Execution Context - Assessment•15 minutes
In this module, we will explore the core concepts of logic and control flow, learning how to make decisions in code using conditionals and loops. These foundational skills will help you structure your code effectively and solve more complex problems.
What's included
9 videos1 assignment
9 videos•Total 61 minutes
- Section Introduction•1 minute
- If Statements•7 minutes
- Else-If and Nesting•7 minutes
- Switches•5 minutes
- Calculator Challenge•3 minutes
- Truthy and Falsy•12 minutes
- Logical Operators•8 minutes
- Logical Assignment•6 minutes
- Ternary Operator•10 minutes
1 assignment•Total 15 minutes
- Logic and Control Flow - Assessment•15 minutes
In this module, we will dive into loops and iteration, teaching you how to use them to work with collections of data. You'll also learn high-order array methods that make data manipulation easier and more efficient, enabling you to write cleaner, more concise code.
What's included
12 videos1 assignment
12 videos•Total 94 minutes
- Section Introduction•1 minute
- For Loop•11 minutes
- Break and Continue•3 minutes
- While and Do While Loops•7 minutes
- FizzBuzz Challenge•8 minutes
- For...of Loop•5 minutes
- For...in Loop•3 minutes
- Array.forEach Method•9 minutes
- Array.filter Method•12 minutes
- Array.map Method•16 minutes
- Array.reduce Method•9 minutes
- Array Method Challenges•11 minutes
1 assignment•Total 15 minutes
- Loops, Iteration, and High-Order Array Methods - Assessment•15 minutes
In this module, we will focus on how JavaScript interacts with the Document Object Model (DOM) to modify web page content. You'll learn how to manipulate elements, styles, and classes dynamically, bringing interactivity and responsiveness to your websites.
What's included
15 videos1 assignment
15 videos•Total 137 minutes
- Section Introduction•1 minute
- Introduction to the DOM•11 minutes
- Document Element Properties•14 minutes
- DOM Selectors - Single Elements•14 minutes
- DOM Selectors - Multiple Elements•9 minutes
- Traversing the DOM - Elements•12 minutes
- Traversing the DOM - All Nodes•14 minutes
- Create and Append Elements•6 minutes
- InnerHTML Versus createElement()•9 minutes
- Refactor to Multiple Functions•4 minutes
- Insert Elements, Text, and HTML•9 minutes
- Custom insertAfter() Challenge•5 minutes
- Replace Elements•10 minutes
- Remove Elements•8 minutes
- Manipulating Styles and Classes•10 minutes
1 assignment•Total 15 minutes
- DOM Manipulation - Assessment•15 minutes
In this module, we will explore events in JavaScript and learn how to handle user interactions such as clicks, key presses, and form submissions. You'll also discover how to use event delegation to improve performance when dealing with multiple elements.
What's included
11 videos1 assignment
11 videos•Total 108 minutes
- Section Introduction•1 minute
- Event Listeners•13 minutes
- Mouse Events•11 minutes
- The Event Object•13 minutes
- Keyboard Events and Key Properties•11 minutes
- KeyCode Mini-Project•15 minutes
- Input Events•12 minutes
- Form Submission and FormData Object•11 minutes
- Event Bubbling•6 minutes
- Event Delegation and Multiple Events•6 minutes
- Page Loading and Window Events•11 minutes
1 assignment•Total 15 minutes
- Events - Assessment•15 minutes
In this module, we will apply everything you've learned to build a fully functional shopping list application. You'll gain hands-on experience by adding, removing, and editing items, storing data in local storage, and deploying your project online.
What's included
14 videos1 reading3 assignments
14 videos•Total 111 minutes
- Section Introduction•4 minutes
- Add Items to List (DOM Only)•12 minutes
- Setting Up Git and GitHub (Optional)•15 minutes
- Remove and Clear Items•8 minutes
- Clear UI State•10 minutes
- Filter Items•10 minutes
- Local Storage Crash Course•6 minutes
- Add Items to Local Storage•8 minutes
- Display Items from Local Storage•6 minutes
- Remove Items from Local Storage•9 minutes
- Set Item to Edit•8 minutes
- Update Item and Reset State•6 minutes
- Prevent Duplicate Items•4 minutes
- Deploy to Netlify•5 minutes
1 reading•Total 10 minutes
- Conclusion to the Course 'JavaScript Fundamentals & The DOM'•10 minutes
3 assignments•Total 90 minutes
- Full Course Practice Assessment•15 minutes
- Shopping List Project - Assessment•15 minutes
- Full Course Assessment•60 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
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,
