client-side_tools) , and then
consider digging into [ client-side JavaScript frameworks ](/en-
US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks) . You
should also consider learning the basic concepts of [ server-side website
programming ](/en-US/docs/Learn/Server-side) .

**Note:** Our [ glossary ](/en-US/docs/Glossary) provides terminology
definitions. Besides, if you have a specific question about web development,
our [ Common questions ](/en-US/docs/Learn/Common_questions) section may have
something to help you.

####  Looking to become a front-end web developer?

If you want to become a front-end web developer and are not sure what to learn
first, we'd suggest using the [ MDN Curriculum ](/en-US/curriculum/) to plan
your learning. It provides a structured learning pathway covering the
essential skills and practices for being a successful front-end developer,
along with recommended learning resources.

[ **Get started** ](/en-US/curriculum/)

##  Topics covered

The following is a list of all the topics we cover in the MDN learning area.

[ Getting started with the web ](/en-
US/docs/Learn/Getting_started_with_the_web)

    

Provides a practical introduction to web development for complete beginners.

[ HTML â Structuring the web ](/en-US/docs/Learn/HTML)

    

HTML is the language that we use to structure the different parts of our
content and define what their meaning or purpose is. This topic teaches HTML
in detail.

[ CSS â Styling the web ](/en-US/docs/Learn/CSS)

    

CSS is the language that we use to control our web content's style and layout,
as well as adding behavior like animation. This topic provides comprehensive
coverage of CSS.

[ JavaScript â Dynamic client-side scripting ](/en-US/docs/Learn/JavaScript)

    

JavaScript is the scripting language used to add dynamic functionality to web
pages. This topic teaches all the essentials needed to become comfortable with
writing and understanding JavaScript.

[ Web forms â Working with user data ](/en-US/docs/Learn/Forms)

    

Web forms are a potent tool for interacting with users â most commonly, they
are used for collecting data from users, or allowing them to control a user
interface. In the articles listed below, we'll cover all the essential aspects
of structuring, styling, and interacting with web forms.

[ Accessibility â make the web usable by everyone ](/en-
US/docs/Learn/Accessibility)

    

Accessibility is the practice of making web content available to as many
people as possible regardless of disability, device, locale, or other
differentiating factors. This topic gives you all you need to know.

[ Web Performance â making websites fast and responsive ](/en-
US/docs/Learn/Performance)

    

Web performance is the art of making sure web applications download fast and
are responsive to user interaction, regardless of a user's bandwidth, screen
size, network, or device capabilities.

[ MathML ](/en-US/docs/Learn/MathML)

    

MathML is the language that we can use to write mathematical formulas in web
pages using fractions, scripts, radicals, matrices, integrals, series, etc.
This topic covers MathML.

[ Tools and testing ](/en-US/docs/Learn/Tools_and_testing)

    

This topic covers the tools developers use to facilitate their work, such as
cross-browser testing tools, linters, formatters, transformation tools,
version control systems, deployment tools, and client-side JavaScript
frameworks.

[ Server-side website programming ](/en-US/docs/Learn/Server-side)

    

Even if you are concentrating on client-side web development, it is still
useful to know how servers and server-side code features work. This topic
provides a general introduction to how the server-side works and detailed
tutorials showing how to build up a server-side app using two popular
frameworks: Django (Python) and Express (Node.js).

##  Tasks and assessments

In the Learn web development section of MDN, there are many self-contained
tasks and a