Learning web development

Welcome to the MDN Learning Area. This set of articles aims to provide complete beginners to web development with all they need to start coding simple websites.

Welcome to the MDN Learning Area. This set of articles aims to provide complete beginners to web development with all they need to start coding simple websites.

The aim of this area of MDN is not to take you from "beginner" to "expert" but to take you from "beginner" to "comfortable". From there you should be able to start making your way, learning from the rest of MDN, and other intermediate to advanced resources that assume a lot of previous knowledge.

If you are a complete beginner, web development can be challenging — we will hold your hand and provide enough detail for you to feel comfortable and learn the topics properly. You should feel at home whether you are a student learning web development (on your own or as part of a class), a teacher looking for class materials, a hobbyist, or someone who just wants to understand more about how web technologies work.

Important: The content in Learning Area is at an early stage, with more being added regularly. If you have questions regarding topics you'd like to see covered or feel are missing, see the Contact us section below for information on how to get in touch.

Where to start

  • Complete beginner: If you are a complete beginner to web development, we'd recommend that you start by working through our Getting started with the Web module, which provides a practical introduction to web development.
  • Specific questions: If you have a specific question about web development, our Common questions section may have something to help you.
  • Beyond the basics: If you have a bit of knowledge already, the next step is to learn HTML and CSS in detail: start with our Introduction to HTML module and move on to our Introduction to CSS module.
  • Moving onto scripting: If you are comfortable with HTML and CSS already, or you are mainly interested in coding, you'll want to move onto JavaScript. Begin with our JavaScript first steps module.

Note: Our Glossary provides terminology definitions.

Note: We'll publish more core learning material in the future. Our "Advanced learning material" menu on the left points to other learning material on MDN, which isn't necessarily part of the Learning Area, but is still useful.

Random glossary entry

HTTP
HTTP (HyperText Transfer Protocol) is the basic protocol that enables file transfer on the Web. HTTP is textual (all communication is done in plain text) and stateless (no communication is aware of previous communications).

Contact us

If you want to get in touch with us about anything, the best way is to drop us a message on our mailing lists or IRC channels. We'd like 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 anything else.

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.

Join the Learn community

Choose your preferred method for joining the discussion:

See also

Codecademy
A great interactive site for learning programming languages from scratch.
Code.org
Basic coding theory and practice, mainly aimed at children/complete beginners.
Web Literacy Map
A framework for entry-level web literacy & 21st Century skills, which also provides access to teaching activities sorted by category.
Teaching activities
A series of teaching activities for teaching (and learning) created by the Mozilla Foundation, covering everything from basic web literacy and privacy to JavaScript and hacking Minecraft.