Back to courses
Technology beginner

Web Development From Absolute Zero

Duration0 hours
Modules7
Get started — free →

Course outline

Module 1 Module 1: Setting Up Your Environment

Setting Up Your Environment

Introduction

Core content I

Core content II

Core content III

Summary

Further learning

Knowledge check

Q1. Which tool is a text editor commonly used by web developers to write HTML, CSS, and JavaScript code?
  • A. Microsoft Excel
  • B. Visual Studio Code ✓
  • C. Adobe Photoshop
  • D. Windows Media Player

Why: Visual Studio Code is a free, widely used code editor that supports HTML, CSS, and JavaScript with helpful features like syntax highlighting and extensions. Excel, Photoshop, and Media Player are not designed for writing code.

Q2. What does a web browser's Developer Tools panel allow you to do?
  • A. Edit the operating system's registry
  • B. Inspect and debug the HTML, CSS, and JavaScript of a web page ✓
  • C. Install new fonts on your computer
  • D. Compress video files

Why: Developer Tools, opened in browsers like Chrome or Firefox, let you inspect page elements, view and modify CSS, check console errors, and debug JavaScript in real time.

Q3. What is the purpose of Node.js in a web development environment?
  • A. It is a graphic design program
  • B. It allows JavaScript to run outside the browser, on your computer or a server ✓
  • C. It is a database for storing images
  • D. It is a email client

Why: Node.js is a runtime environment that lets you run JavaScript outside a web browser. It is commonly used to run build tools, development servers, and backend applications.

Q4. What does the command 'npm install' typically do in a project folder?
  • A. Deletes all files in the folder
  • B. Opens a new browser window
  • C. Downloads and installs the packages listed in the project's package.json file ✓
  • D. Formats the hard drive

Why: npm (Node Package Manager) reads the package.json file and installs all listed dependencies into the node_modules folder, preparing the project to run.

Q5. Why is Git commonly used in web development?
  • A. To design logos and icons
  • B. To track changes to code and collaborate with others through version control ✓
  • C. To speed up internet connection
  • D. To store passwords securely in the browser

Why: Git is a version control system that records changes to your code over time, lets you revert to earlier versions, and enables teams to collaborate without overwriting each other's work.

Module 2 Module 2: How the Web Works

How the Web Works

Introduction

Core content I

Core content II

Core content III

Summary

Further learning

Knowledge check

Q1. What does HTTP stand for?
  • A. HyperText Transfer Protocol ✓
  • B. High Transfer Text Protocol
  • C. HyperText Transmission Process
  • D. Hyperlink Transfer Terminal Protocol

Why: HTTP stands for HyperText Transfer Protocol, the set of rules browsers and servers use to request and send web pages and other resources.

Q2. When you type a website address like example.com into your browser, what is the first thing that typically happens?
  • A. The browser displays a blank page
  • B. The server sends the HTML file to your computer
  • C. The browser asks the DNS system to translate the domain name into an IP address ✓
  • D. The browser downloads all images on the page

Why: Computers locate each other using IP addresses, so the browser first uses DNS (Domain Name System) to look up the IP address associated with the domain name.

Q3. Which HTTP method is most commonly used to retrieve a web page from a server?
  • A. POST
  • B. DELETE
  • C. GET ✓
  • D. PUT

Why: GET is the HTTP method used to request data from a server, such as when you load a web page. POST is typically used to send data, such as form submissions.

Q4. What does a 404 status code indicate?
  • A. The server is overloaded
  • B. The request was successful
  • C. The page you requested was not found ✓
  • D. The user is not authorized to view the page

Why: A 404 Not Found status code means the server could not find the requested resource at that URL. A 200 means success, and 403 means forbidden.

Q5. What is the role of a web browser?
  • A. To store all websites on your computer
  • B. To send requests to servers and display the responses, such as HTML, CSS, and images ✓
  • C. To act as the server hosting the website
  • D. To assign IP addresses to devices on a network

Why: A browser is a client program that sends HTTP requests to servers, receives the responses, and renders the HTML, CSS, and other resources into the page you see.

Module 3 Module 3: HTML: Structuring Content

HTML: Structuring Content

Introduction

Core content I

Core content II

Core content III

Summary

Further learning

Knowledge check

Q1. Which HTML element is used to define the main heading of a page?
  • A. <heading>
  • B. <h1> ✓
  • C. <head>
  • D. <title>

Why: The <h1> element represents the top-level heading of a page. <head> holds metadata, <title> sets the browser tab text, and <heading> is not a valid HTML element.

Q2. Which element represents a paragraph of text in HTML?
  • A. <p> ✓
  • B. <para>
  • C. <text>
  • D. <div>

Why: The <p> element is the standard way to mark up a paragraph. <div> is a generic container with no inherent paragraph meaning, while <para> and <text> are not valid HTML elements.

Q3. Which tag is used to create an unordered (bulleted) list?
  • A. <ol>
  • B. <li>
  • C. <ul> ✓
  • D. <dl>

Why: <ul> creates an unordered list, whose items are each wrapped in <li>. <ol> creates a numbered list, and <dl> creates a description list.

Q4. What is the correct structure for the basic sections of an HTML document?
  • A. <body> before <html>
  • B. <html> containing <head> and <body> ✓
  • C. <head> containing <body> and <html>
  • D. <main> containing <html> and <head>

Why: An HTML document is wrapped in <html>, which contains a <head> for metadata and a <body> for visible content. The other options place these elements in invalid nesting.

Q5. Which element is used to group inline text or elements without adding semantic meaning?
  • A. <section>
  • B. <span> ✓
  • C. <article>
  • D. <nav>

Why: <span> is an inline container with no semantic meaning, used mainly for styling or scripting a portion of text. <section>, <article>, and <nav> are block-level semantic elements that describe their content's purpose.

Module 4 Module 4: CSS: Styling Pages

CSS: Styling Pages

Introduction

Core content I

Core content II

Core content III

Summary

Further learning

Knowledge check

Q1. What does CSS stand for?
  • A. Computer Style Sheets
  • B. Cascading Style Sheets ✓
  • C. Creative Styling System
  • D. Colorful Site Structure

Why: CSS stands for Cascading Style Sheets. It is the language used to control the presentation and layout of HTML documents, and the 'cascading' part refers to how styles are inherited and prioritized.

Q2. Which CSS property is used to change the text color of an element?
  • A. font-color
  • B. text-color
  • C. color ✓
  • D. foreground

Why: The 'color' property sets the text color of an element. 'font-color' and 'text-color' are not valid CSS properties, and 'foreground' is not a standard property either.

Q3. Which selector would you use to style all elements with the class name 'button'?
  • A. #button
  • B. button
  • C. *button
  • D. .button ✓

Why: A period (.) is the prefix for class selectors in CSS, so '.button' targets every element with class='button'. '#button' targets an element by ID, and 'button' alone targets all <button> tags, not the class.

Q4. Which property controls the space between an element's content and its border?
  • A. margin
  • B. spacing
  • C. padding ✓
  • D. border-gap

Why: Padding controls the space between an element's content and its border. Margin controls the space outside the border, between the element and neighboring elements.

Q5. How do you make a CSS rule apply to every element on the page?
  • A. all { }
  • B. * { } ✓
  • C. global { }
  • D. @everything { }

Why: The universal selector (*) matches every element on the page. The other options are not valid CSS selectors.

Module 5 Module 5: JavaScript Basics

JavaScript Basics

Introduction

Core content I

Core content II

Core content III

Summary

Further learning

Knowledge check

Q1. Which keyword is used to declare a variable whose value can be reassigned later in JavaScript?
  • A. const
  • B. let ✓
  • C. static
  • D. constant

Why: The 'let' keyword declares a block-scoped variable that can be reassigned. 'const' creates a variable that cannot be reassigned, while 'static' and 'constant' are not variable declaration keywords in JavaScript.

Q2. What will typeof 42 return in JavaScript?
  • A. 'integer'
  • B. 'float'
  • C. 'number' ✓
  • D. 'numeric'

Why: JavaScript has a single number type for both integers and decimals, so typeof returns 'number' for any numeric value.

Q3. Which of the following is the correct way to write a function that adds two numbers?
  • A. function add(a, b) { return a + b; } ✓
  • B. function add(a, b) { a + b; }
  • C. add(a, b) => { return a + b }
  • D. def add(a, b): return a + b

Why: A function declaration uses the 'function' keyword, a parameter list, and a body that uses 'return' to send back the sum. Option B never returns the result, option C is not valid syntax for a named function declaration, and option D is Python syntax.

Q4. What is the output of console.log(5 == '5')?
  • A. false
  • B. true ✓
  • C. undefined
  • D. error

Why: The loose equality operator '==' performs type coercion, converting the string '5' to the number 5 before comparing, so the result is true. The strict operator '===' would return false.

Q5. How do you access the first element of an array named fruits?
  • A. fruits.first()
  • B. fruits[1]
  • C. fruits(0)
  • D. fruits[0] ✓

Why: JavaScript arrays are zero-indexed, so the first element is at index 0, accessed with square brackets. Index 1 is the second element, and parentheses or a method named first() are not how arrays are indexed.

Module 6 Module 6: Responsive Design and Layouts

Responsive Design and Layouts

Introduction

Core content I

Core content II

Core content III

Summary

Further learning

Knowledge check

Q1. What is the main purpose of the viewport meta tag in responsive web design?
  • A. It sets the page background color for mobile devices
  • B. It tells the browser to scale the page to the device's screen width ✓
  • C. It loads a different stylesheet for each screen size
  • D. It compresses images automatically for faster loading

Why: The viewport meta tag, such as <meta name="viewport" content="width=device-width, initial-scale=1.0">, tells mobile browsers to match the layout width to the device's screen width instead of rendering the page at a default desktop width and zooming out.

Q2. Which CSS unit is relative to the font size of the root (html) element?
  • A. px
  • B. em
  • C. rem ✓
  • D. %

Why: The rem unit is relative to the font size of the root element, which makes it consistent across the page. The em unit, by contrast, is relative to the font size of its parent element, and px is a fixed absolute unit.

Q3. What does a CSS media query like @media (max-width: 600px) do?
  • A. It applies styles only when the screen width is 600 pixels or less ✓
  • B. It sets the maximum width of an element to 600 pixels
  • C. It hides all content wider than 600 pixels permanently
  • D. It loads images at 600 pixels wide for all devices

Why: A media query applies the enclosed CSS rules only when the specified condition is true. Here, the styles apply when the viewport width is 600 pixels or narrower, which is a common breakpoint for mobile layouts.

Q4. Which CSS property is most commonly used to create a flexible multi-column layout that wraps onto new lines on smaller screens?
  • A. float: left
  • B. display: inline-block
  • C. display: flex with flex-wrap: wrap ✓
  • D. position: absolute

Why: Setting display: flex on a container with flex-wrap: wrap lets child items sit side by side and move to a new row when space runs out, which is ideal for responsive layouts. Absolute positioning removes elements from normal flow and does not adapt to available space.

Q5. What is the mobile-first approach in responsive design?
  • A. Designing only for mobile devices and ignoring larger screens
  • B. Writing base styles for small screens first, then adding media queries for larger screens ✓
  • C. Loading the mobile version of a website before the desktop version
  • D. Using mobile app frameworks to build websites

Why: Mobile-first means writing the default CSS for small screens and then using min-width media queries to add enhancements for larger screens. This tends to produce simpler base styles and better performance on phones.

Module 7 Module 7: Putting It All Together

Putting It All Together

Introduction

Core content I

Core content II

Core content III

Summary

Further learning

Knowledge check

Q1. Which HTML element is used to define the main heading of a web page?
  • A. <h6>
  • B. <h1> ✓
  • C. <header>
  • D. <title>

Why: The <h1> element represents the top-level heading and is typically used for the main heading of a page. <title> sets the browser tab text rather than visible page content.

Q2. Which CSS property changes the text color of an element?
  • A. font-color
  • B. text-color
  • C. color ✓
  • D. background-color

Why: The 'color' property sets the foreground (text) color of an element. 'background-color' changes the background, and 'font-color' and 'text-color' are not valid CSS properties.

Q3. What does the JavaScript method document.getElementById() return?
  • A. A list of all elements with a given class
  • B. The first element with a matching tag name
  • C. The element whose id attribute matches the given value ✓
  • D. The page's title as a string

Why: getElementById() searches the document for the element whose id attribute matches the argument and returns that element, or null if none is found.

Q4. Which HTTP method is typically used to send form data to a server to create a new resource?
  • A. GET
  • B. DELETE
  • C. POST ✓
  • D. HEAD

Why: POST is commonly used to submit data to the server, such as form submissions that create new records. GET is meant for retrieving data and places parameters in the URL.

Q5. In a basic project structure, which file is conventionally the entry point that browsers load first?
  • A. style.css
  • B. script.js
  • C. index.html ✓
  • D. README.md

Why: Web servers and browsers conventionally load index.html as the default page of a site, which then links to the CSS and JavaScript files.

Stay in the loop on this course.

We’ll email you when new modules or related material drops. No spam.

Built with Fragment Language. Sovereign architecture — no third-party trackers.
FragRun.mfgAFImemoryFGOwnership: B-Systems.ee