HTML is a markup language used to define the content, structure and meaning of webpages



Course Duration

16 hrs 23 mins








There are no special prerequisites for this course.

Course overview

HTML, or Hypertext Markup Language, is a language used to define the content, structure, and meaning of webpages. It's one of the three core web technologies used to create websites, the other two being CSS and JavaScript.

HTML is not a programming language per se, which otherwise has the provision of data types, operators and logical constructs to control the flow of execution in a given program; it's purely just a markup language used to define documents.

If you want to get into web development, one of the most popular and demanding careers of the current era, you have to begin with HTML no matter what kind of specialization you wish to do later on.

HTML is the fundamental building block of the World Wide Web. It works by marking up some pieces of text to have a special meaning with the help of elements. There is a large collection of elements in HTML. An HTML page is just an amalgamation of these elements together.

Learning HTML is extremely easy and intuitive. There isn't really that much to wrap the mind around in HTML — the grammar has a few rules, the basic terminology and concepts are very straightforward, and some advanced ideas are also pretty simple to digest. It's all peaches and cream to become capable of writing HTML in less than a week. Seriously.

Learning outcomes

This course aims at providing you with a rock-solid foundation on HTML before you proceed to explore other amazing avenues in web development, which will usually commence with CSS and JavaScript.

This course makes sure that by the end of it, you have a profound knowledge of not just HTML but also what to learn up next and why, and even where to code.

Going into more details, by the end of this course, you'll have a firm grasp over the following:

  1. What exactly is HTML and what do the terms 'hypertext' and 'markup language' mean.
  2. How and where to write HTML, and then view its output in the browser. Also, we'll see what is Visual Studio Code and how it's the de facto editor these days for coding.
  3. The basics of HTML, including but not limited to: HTML elements and tags; setting the document's title, working with HTML attributes; a coding style guide to follow; and so on.
  4. The different ways to work with text in HTML, for example, as headings, paragraphs, bold and italic text, superscripts and subscripts, preformatted blocks, definitions, abbreviations, marked portions, quotations and citations, and much more.
  5. What are HTML entities, the different ways of denoting entities in HTML, and why we really need them.
  6. How to work with text representing code or the output generated by code or even the keyboard input involved in given programs, via the elements <code>, <samp> and <kbd>, respectively.
  7. What is meant by 'metadata' and which elements in HTML are used to provide metadata for a given webpage. These include <title>, <meta> and <link>, in addition to a few others.

Table of contents

  1. Foundation

    In this unit, we shall explore the very basics of HTML, starting with a detailed introduction to what exactly is HTML. We'll create our very first HTML program and then take it from there onwards to discover such different ideas as working with text (headings, paragraphs, definitions, quotations, etc.), adding characters using entities, working with text representing code, and setting up metadata elements.
  2. Metadata

    In this unit, we shall unravel all the elements in HTML that are used to set up metadata of an HTML document. These include, but aren't limited to, <meta>, <link>, <style>, and <script>. We'll see the different kinds of metadata that could be configured for a document, such as the viewport's behavior, or the favicon.
  3. Semantic HTML

    In this unit, we shall talk about HTML from the perspective of semantics, i.e. meaning. We'll explore what exactly is meant by semantic HTML and how could, and ideally should, we leverage it in our websites. We'll cover a host of semantic HTML elements, such as <header>, <footer>, <aside>, <article>, <section>, and so on.
  4. Images

    In this unit, we'll discover all the concepts underpinning the very broad topic of images in HTML. We'll discover the basics of working with images using <img> while considering a great number of its characteristics before moving over to consider the relatively recent <picture> element. We'll also go over the old but still supported idea of image maps.
  5. Tables

    This unit is dedicated to learning one of the most popular things in HTML documents — tables. We'll start off with the basics of creating tables using the cornerstone element <table>, and then consider slightly more advanced concepts, such as sectioning tables, rowspans and colspans, and so on.
  6. Forms

    Forms are a pervasive part of the web. In this unit, we shall unravel all the nitty gritty details of working with forms in HTML. We shall learn about the various types of form inputs available at our dispense, and end with a consideration of the nuances of buttons, labels, and fieldsets.


  • Is HTML easy to learn?

    A big yes! HTML is one of the most simplest of web technologies to learn. In fact, people completely new to the world of web development are first made to learn HTML, since it forms the very foundation of the web.

  • What if I get stuck somewhere in the course?

    If you're having a hard time understanding a given concept in the course, feel free to reach out to me at, describing the issue you're facing. I'll try my level best to help you out.

  • Some important topics are missing from the course. Why is that so?

    The courses on Codeguage are released while they are still under construction so that learners can get early previews. As I continuously work on adding more and more content to the courses, if a given topic isn't covered today, there's a high chance that it's already under way and will show up very soon. You can follow Codeguage on Twitter to be updated with all the latest content releases.

  • How can I ask any general questions related to the course's content?

    Write to me at

It's different the 'Codeguage way'


When you have a robust foundation, with the fundamentals crystal-clear, your mind will intrinsically get that ability to handle any kind and level of complexity.


With a comprehensive resource that covers literally every aspect of a given topic, your time is spent practicing the learnt concepts, not resolving confusions and basic questions.


Coding is a detailed craft. Likewise, any resource trying to teach it in any way should be detailed as well, or else people will have to acquire those integral details from different places in a fragmented and haphazard manner.


Structure is vital to an intuitive learning experience of a given resource. Without structure, the right concepts get introduced at the wrong times, ultimately leading to confusion and breaking the desired flow of comprehension.

Let's start the learning!