files/en-us/learn_web_development/index.md
Welcome to MDN Learning Web Development (also known as Learn). This resource provides a structured set of tutorials teaching the essential skills and practices for being a successful front-end developer, along with challenges and further recommended resources.
Teaches the essential skills and knowledge every front-end developer needs for career success and industry relevance, as defined in the MDN Curriculum.
Created by the MDN community and refined with insights from students, educators, and developers from the broader web community.
Designed to take you from "beginner" to "comfortable" (not "beginner" to "expert"), giving you enough knowledge to use more advanced resources (such as the rest of MDN).
[!NOTE] Last updated: August 2025 (see changelog).
[!CALLOUT]
Try our partner video courses
Interested in an interactive video course to complement our articles? Scrimba's Frontend Developer Career Path<sup>MDN learning partner</sup> also teaches the topics contained in the MDN Curriculum.
<mdn-scrim-inline url="https://scrimba.com/s06icdv" scrimtitle="Scrimba + MDN"></scrim-inline>
Throughout the course, you'll find several articles designed to help you assess whether you have understood what we are teaching you in the course. There are two types:
Most of the questions feature HTML/CSS/JavaScript code blocks that show the starting code for each task. The recommended way to complete each one is to press the "Play" button in one of the code blocks to open the example in the MDN Playground and then edit the code according to the question instructions.
If you make a mistake, you can clear your work using the Reset button in the MDN Playground. If you get really stuck, you can (usually) view the solution at the bottom of each question section, or reach out for help.
[!NOTE] If you'd prefer to work in your own editor or in an online editor (such as CodePen or JSFiddle), you can copy the code from the MDN Playground into your chosen environment.
Some questions don't include code blocks to start from, and instead ask you to download starter files to work on your local machine with. Sometimes this is due to the complex nature of the question, and sometimes we just wanted to change things up a bit.
The code examples you'll encounter in the Learning Area are all available on GitHub:
If you want to get in touch with us about anything, use the communication channels. We'd love to hear from you about anything you think is wrong or missing on the site, requests for new learning topics, requests for help with items you don't understand, or any other questions or concerns.
If you're interested in helping develop/improve the content, take a look at how you can help and get in touch! We are more than happy to talk to you, whether you are a learner, teacher, experienced web developer, or someone else interested in helping to improve the learning experience.