codex-lv3-may-2025

Level 3 Vocabulary

Table of Contents


Week 1

Server

A computer program or device that provides services, resources, or data to other programs (called clients) over a network. In web development, servers deliver things like files or data to your browser when you ask for themโ€”like a waiter bringing food at a restaurant.

Node.js (Node)

A way to run JavaScript on your computer (not just in the browser). It lets you build the โ€œbackendโ€ or server side of websites.

๐Ÿ“บ Learn More: Node.js Ultimate Beginnerโ€™s Guide in 7 Easy Steps

Request (REQ)

The โ€œask.โ€ When your browser talks to a server, it sends a request (like asking for a webpage or some data).

Response (RES)

The โ€œanswer.โ€ After the server gets the request, it sends back a response (like the HTML, CSS, or data you asked for).

Event-driven Architecture

A style of programming where the server waits for events (like a request) and then reacts to them, just like addEventListener in the browser.

๐Ÿ“บ Learn More: JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue

NPM

Short for Node Package Manager. A tool that helps you add extra code โ€œpackagesโ€ (like apps or helpers) into your project.

๐Ÿ“บ Learn More: What is NPM, and why do we need it? - Tutorial for beginners

Module

In programming, modules are self-contained units of code that can be imported and used in other parts of a program. They help organize code into logical, reusable pieces and enable better code organization, testing, and maintenance.

In JavaScript specifically, modules are chunks of code you can bring into your project. Example: Express is a module that helps you make a server.

Two ways to import/export modules in JavaScript:

1. CommonJS (Node.js style):

// File: util/helpers.js
const helloWorld = () => console.log('Hello World!');
const API_URL = 'https://api.example.com';

module.exports = { helloWorld, API_URL };

// File: main.js
const { helloWorld, API_URL } = require('./util/helpers');

2. ES6 Modules (Modern JavaScript):

// File: util/helpers.js
const helloWorld = () => console.log('Hello World!');
const API_URL = 'https://api.example.com';
const myMainFunction = () => console.log('Main function');

export { helloWorld, API_URL };
export default myMainFunction;

// File: main.js
import { helloWorld, API_URL } from './util/helpers.js';
import myMainFunction from './util/helpers.js';

๐Ÿ“บ Learn More: JavaScript Modules in 100 Seconds
๐Ÿ”— Learn More: Module Cheatsheet

Mad Libs

A word game where players fill in blanks in a story with random words (like nouns, verbs, adjectives) without knowing the context. The result is usually a funny and nonsensical story! In our course, youโ€™ll build a web application that creates Mad Libs stories using forms.

๐Ÿ“– Learn More: Mad Libs Format - Wikipedia
๐Ÿ“บ Learn More: Mad Libs Gameplay Video

Express

A popular module for Node.js that makes building servers and handling requests/responses much easier.

Port

A โ€œdoor numberโ€ on your computer where your server listens for requests. Example: http://localhost:3000.

๐Ÿ“บ Learn More: What is a Port?

ES6 Function-Arrow Function

A shorter way to write functions in JavaScript. Example:

(req, res) => {
  res.send("Hello!");
}

๐Ÿ“บ Learn More: Arrow Functions - Beau teaches JavaScript

Path (Route)

The address you type after the main website, like /about or /login. It tells the server what part you want.

๐Ÿ“บ Learn More: Understanding Paths and Routes

Counter Pattern

A coding pattern where you use a variable to keep track of counts (like adding 1 in a loop). Itโ€™s often the first loop pattern students learn.

๐Ÿ“บ Learn More: Understanding Counter Pattern

Template Literal

A way to put variables into strings using backticks (`). Example:

`Hello, ${name}!`

๐Ÿ“บ Learn More: Understanding Template Literals

Loopback URL / IP

Special addresses (localhost or 127.0.0.1) that let you test a server running on your own computer.

๐Ÿ“บ Learn More: Understanding Loopback URLs
๐Ÿ“บ Learn More: What is an IP Address?

Event Listener

In programming, an event listener is a function or piece of code that waits for a specific event to occur and then executes a response. Event-driven programming allows programs to respond to user actions, system events, or other triggers as they happen.

In web development specifically, an event listener is code that waits for something to happen (like a button click or a request) and then runs a function in response.

Scoping

Rules that decide where variables can be used. Example: let and const fix problems that older var variables had.

Ternary Operator

A shorthand if/else written in one line. Example:

let result = score > 10 ? "Win" : "Lose";

๐Ÿ“บ Learn More: ? in NaN Seconds

Bracket Notation

A way to access object properties using square brackets. Example:

myDog["age"];

๐Ÿ“บ Learn More: Understanding Bracket Notation

String

A piece of text inside quotes. Example: "Hello world".

Backend

The hidden โ€œserver sideโ€ of a website or app where data and logic live. Users donโ€™t see this part.

Endpoint

A specific path on the server you can ask for. Example:

app.get("/cats", (req, res) => { ... });

V8 Engine

The part of Chrome (and Node.js) that runs JavaScript by turning code into actions on the screen or server.

Array Literal

The syntax to create an array, using square brackets. Example:

let colors = ["red", "green", "blue"];

Index

The number that tells you an itemโ€™s position in a list. Indexes start at 0. Example: in ["a", "b", "c"], "a" is index 0.

List Scrolling Pattern

A coding pattern that uses the counter to move up or down a list, like scrolling through items in an app.

Insert Item / Append Item

Ways to add new things to a list. Insert puts it at a chosen index, append puts it at the end. Example:

myList.push("new item"); // append
myList.splice(0, 0, "first"); // insert at top

Week 2

๐ŸŽต Song: React Components Song

Components

In programming, components are reusable pieces of code that encapsulate specific functionality and can be combined to build larger applications. They promote modularity, reusability, and maintainability by breaking complex systems into smaller, manageable parts.

In React specifically, components are the building blocks of React applications. Everything in React is made from components. They help organize code and keep programs from becoming too complicated by allowing you to break down complex UIs into smaller, reusable pieces.

React

A framework created by Facebook in 2013. Itโ€™s built on the idea of components and is one of the most popular tools for making modern websites.

JSX

A special syntax used in React. It looks like HTML but isnโ€™t exactly the same. JSX must be used inside React components.

Vite (VEET)

A tool to quickly start a React project. By default, it runs on port 5173 (which matches the letters V-I-T-E as a memory trick โ€“ โ€œVโ€ is โ€œ5โ€ in Roman Numerals).

Controlling Complexity

Called the โ€œessence of programming.โ€ In React, using components is a way to control complexity by breaking big problems into smaller, reusable pieces.

๐Ÿ“– Learn More: Brian Kernighan Quote on Controlling Complexity

Props (Properties)

Attributes you can give to components to make them more powerful. Props are like HTML attributes but for your own custom components.

Return

In programming, return ends a function and sends a value back to wherever it was called. In JavaScript functions, you use return to pass data back to the code that called the function.

In a React component function, the return statement sends back the JSX that should be shown on the screen.

๐Ÿ”— Learn More: Return Statements in JavaScript

Nesting

Putting one component inside another. Example: placing <Skills /> inside your main <App />.

Fragments

Empty angle brackets (<>...</>) used in React components. They allow you to return multiple JSX elements without needing an extra wrapper element.

ESLint

A tool that comes installed when you set up a React project with Vite. It checks your code and warns about errors or bad practices.

Node modules

The folder that appears after installing dependencies. It contains all the extra code React needs to run.


Week 3

State

In computer science, state refers to the current condition or data of a program at any given moment. Itโ€™s the information that a program remembers and can change over time, like variables that hold values, user preferences, or the current step in a process.

In React specifically, state is component-local data that React preserves between renders so a component can remember information and update the UI (e.g., a click counter). React state allows components to be interactive and respond to user actions by maintaining and updating their internal data.

๐Ÿ”— Learn More: State: A Componentโ€™s Memory

Hook

Special React function whose name starts with use (e.g., useState, useEffect). Must follow the Rules of Hooks.

๐Ÿ”— Learn More: Using Hooks

useState

Hook that returns a state value and a setter:

const [count, setCount] = useState(0);

Initializes component state and triggers re-render when the setter is called.

๐Ÿ”— Learn More: Adding Interactivity: useState

Setter Function (setCount)

The function from useState used to update state (e.g., setCount(prev + 1)). Schedules an update; React re-renders with the new state.

๐Ÿ”— Learn More: State Setter Functions

handleClick

Conventional camelCase name for a click event handler:

function handleClick() {
  setScore(s + 1);
}

๐Ÿ”— Learn More: Responding to Events

Conditional Rendering

Showing different UI based on a condition using JS expressions in JSX (e.g., {isOn ? 'On' : 'Off'}).

๐Ÿ”— Learn More: Conditional Rendering

Ternary Operator

condition ? exprIfTrue : exprIfFalse; commonly used inside JSX for conditional rendering.

๐Ÿ”— Learn More: Conditional Rendering (ternary)

List / Array

Core JS structure often paired with loops or array methods (map, filter) to render repeated UI.

List Patterns

Common approaches for working with lists, such as Random List Access and List Scrolling Pattern.

๐Ÿ“บ Learn More: Code.org Unit 5 Lesson 11.6 - Reduce and Filter | Traversals Practice
๐Ÿ”— Learn More: List Filter Pattern
๐Ÿ”— Learn More: List Reduce Pattern
๐Ÿ”— Learn More: List Scrolling Pattern
๐Ÿ”— Learn More: Code.org Unit 6 Lesson 11.6

List Scrolling Pattern

Iterating from index 0 to list.length - 1 (e.g., for loop or array.map) to process or render each item.

Random List Access

Selecting an item by index (often random):

let randomIndex = Math.floor(Math.random() * list.length);
let item = list[randomIndex];

๐Ÿ”— Learn More: Rendering Lists

List Destructuring

Array destructuring syntax, especially used with hooks:

const [value, setValue] = useState(0);
const [first, second] = arr;

๐Ÿ”— Learn More: Destructuring Arrays

Fragment

Wrapper for multiple JSX nodes without adding a DOM element:

<>...</>

or

<React.Fragment>...</React.Fragment>

children prop

Special prop containing nested JSX between a componentโ€™s opening and closing tags:

<MyCard>
  <p>Hello!</p>
</MyCard>

๐Ÿ”— Learn More: Passing JSX as Children
๐Ÿ”— Learn More: React Props Children - W3Schools

Prop

Read-only inputs to a component, similar to HTML attributes. Can model variants (e.g., <Button variant="primary" />) or pass classes via className.

๐Ÿ”— Learn More: Passing Props to a Component

Declarative vs Imperative

Two different programming styles:

Declarative (HTML / React): You describe what you want the UI to look like, and React updates it. Example:

<button disabled={isLoading}>Submit</button>

You declare the desired outcome, React handles the details.

Imperative (Vanilla JS): You write instructions for how to change the DOM step by step. Example:

const btn = document.querySelector("button");
if (isLoading) {
  btn.setAttribute("disabled", true);
} else {
  btn.removeAttribute("disabled");
}

React emphasizes declarative code because itโ€™s easier to read, maintain, and reason about.

๐Ÿ”— Learn More: Declarative Programming


Week 5

Database (DB)

An organized collection of data that can be stored, accessed, and managed efficiently. In web development, databases provide a structured place to store and organize data so applications can save, read, update, and delete information.

๐Ÿ”— Learn More: Introduction to SQL & Databases

Persistence / Persist

When data stays saved even after refreshing the page or restarting the app/server โ€” unlike variables in JavaScript which disappear on reload.

๐Ÿ“บ Learn More: Understanding Data Persistence
๐Ÿ“บ Learn More: Data Persistence Explained

Supabase

A backend-as-a-service that gives you a PostgreSQL database, authentication, storage, and APIs. Works like an open-source Firebase.

๐Ÿ“บ Learn More: Supabase in 100 Seconds
๐Ÿ”— Learn More: https://supabase.com

Firebase

Googleโ€™s backend service for real-time databases, authentication, hosting, and storage. Uses NoSQL (document-style) data.

๐Ÿ“บ Learn More: Firebase in 100 Seconds
๐Ÿ”— Learn More: https://firebase.google.com

SQL

Structured Query Language โ€” used to communicate with relational databases like PostgreSQL and MySQL.

๐Ÿ“บ Learn More: SQL Explained in 100 Seconds
๐Ÿ”— Learn More: Intro to SQL

Table

A collection of related data in the database, organized into rows and columns โ€” similar to a spreadsheet.

๐Ÿ“บ Learn More: MySQL - The Basics // Learn SQL in 23 Easy Steps
๐Ÿ”— Learn More: Intro to SELECT Queries

Column

A labeled field in a table (e.g., email, price, user_id) that defines one type of data.

๐Ÿ”— Learn More: Columns & Rows

Row / Record

One entry in a table โ€” like one user, one product, or one message.

๐Ÿ”— Learn More: Rows in Tables

SELECT

SQL command that reads data from a database.

SELECT * FROM users;

๐Ÿ“บ Learn More: MySQL - The Basics // Learn SQL in 23 Easy Steps
๐Ÿ”— Learn More: SELECT Basics

INSERT

SQL command that adds a new row into a table.

INSERT INTO users (name, age) VALUES ('Alex', 23);

๐Ÿ“บ Learn More: MySQL - The Basics // Learn SQL in 23 Easy Steps
๐Ÿ”— Learn More: Inserting Rows

RLS Policy (Row-Level Security)

Rules in Supabase/PostgreSQL that control which users are allowed to read or write specific rows in a table (helps protect user data).

๐Ÿ“บ Learn More: RLS Policy Short
๐Ÿ”— Learn More: Supabase RLS

Environment Variables (.env)

Hidden configuration values like API keys, database URLs, or secrets that you donโ€™t want hardcoded in your JavaScript. Stored in a .env file.

๐Ÿ“บ Learn More:

๐Ÿ”— Learn More: Environment Variables โ€“ Supabase Docs

Snake Case

Naming style using lowercase letters and underscores:
first_name, user_id, total_price

Data Format

The structure or organization of data, determining how information is stored, transmitted, and interpreted. Common data formats include CSV, JSON, XML, and others. Different formats are suited for different purposes โ€” some are human-readable, others are optimized for machines.

๐Ÿ“บ Learn More: CSV Data Formats Explained

CSV (Comma-Separated Values)

A simple text format for storing tabular data where each line represents a row, and values are separated by commas. Commonly used for spreadsheets and data exchange.

Example:

name,age,email
Alice,25,alice@example.com
Bob,30,bob@example.com

๐Ÿ“บ Learn More: CSV Files Explained
๐Ÿ”— Learn More: MDN โ€“ CSV

JSON (JavaScript Object Notation)

A lightweight data format that uses JavaScript-like syntax to represent structured data. Itโ€™s the most common format for APIs and data exchange in web development. JSON is human-readable and easy for both humans and machines to parse.

Example:

{
  "name": "Alice",
  "age": 25,
  "email": "alice@example.com"
}

๐Ÿ“บ Learn More: Understanding JSON


Week 8

Explore these terms in context throughout the Vitest Project Guide.

devDependencies

Packages listed under devDependencies in package.json are only needed during development. Vitest is installed here because itโ€™s used to run tests locally rather than in production builds. ๐Ÿ“บ Learn More: DevDependencies vs Dependencies

code coverage

The percentage of your source code that runs when automated tests execute. Higher coverage can reveal which files or branches lack tests, helping you decide where to add new specs. ๐Ÿ”— Learn More: Vitest Coverage Guide

type: โ€œmoduleโ€

Setting "type": "module" in package.json enables ES module syntax (import / export) across the project so test files and helpers can use modern JavaScript features. ๐Ÿ“บ Learn More: JavaScript ES Modules Crash Course

npm scripts

Custom commands defined in the "scripts" section of package.json. Running npm run test executes the configured Vitest command. ๐Ÿ“บ Learn More: npm Scripts Crash Course

npx

A command-line tool that comes with npm, used to execute packages without installing them globally. npx runs packages from the npm registry temporarily, making it perfect for one-time commands or trying out tools without cluttering your system. ๐Ÿ“บ Learn More: What is NPX?

describe / it blocks

Vitestโ€™s structure for organizing tests. describe groups related specs, while each it defines a single behavior being asserted.

expect assertions

The matcher API used to express outcomes (expect(value).toBe(โ€ฆ), toEqual(โ€ฆ), etc.). Expect-style syntax keeps tests readable and declarative. ๐Ÿ“บ Learn More: JavaScript Unit Testing Tutorial for Beginners

toBeCloseTo

A matcher for comparing floating-point numbers with precision toleranceโ€”useful when testing calculations like 0.1 + 0.2. ๐Ÿ”— Learn More: Vitest expect.toBeCloseTo ๐Ÿ” Read More: Floating-point arithmetic โ€“ all you need to know

watch mode

Running vitest --watch or npm run test -- --watch re-runs tests whenever files change, supporting rapid feedback during development. Press q to exit the watch runner. ๐Ÿ”— Learn More: Vitest Watch Mode

Red-Green-Refactor

Test-Driven Development cycle highlighted in the guide: write a failing test (red), implement just enough code to pass (green), then clean up the implementation (refactor) while keeping tests green. ๐Ÿ“บ Learn More: Test-Driven Development (Red Green Refactor)

Regular Expression character classes

Patterns like /[!?,]/ or \W used to match groups of characters during string refactoring exercises (e.g., replacing punctuation in toSnakeCase). ๐Ÿ”— Learn More: Regex101 Reference

replaceAll()

A modern string method that replaces every occurrence of a substring or regex match, used throughout the string utility levels to keep helper functions pure. ๐Ÿ”— Learn More: MDN โ€“ String.prototype.replaceAll()

async useEffect pattern

Reactโ€™s useEffect cannot accept an async callback. Instead, an inner async function (or IIFE) handles awaiting logic, ensuring the effect itself returns either nothing or a cleanup function. ๐Ÿ”— Learn More: MDN โ€“ String.prototype.replaceAll() ๐Ÿ”— Read More: Promises, async/await, and useEffect in React

Unit Test

A focused test that exercises a single function or module in isolation to verify correct behavior across expected and edge-case inputs. Vitestโ€™s it blocks typically represent unit tests. ๐Ÿ“บ Learn More: JavaScript Unit Testing Tutorial for Beginners

Floating-Point Arithmetic

The IEEE 754 standard describes how computers represent real numbers using binary fractions, leading to rounding quirks like 0.1 + 0.2 !== 0.3. Understanding floating-point precision helps explain why matchers such as toBeCloseTo exist. ๐Ÿ” Read More: Floating-point arithmetic โ€“ all you need to know


Advanced JavaScript Syntax

๐ŸŽต Song โ€œFunction Flowโ€: https://suno.com/s/eY8iez0gM4n1f3ZB

Async

A keyword that makes a function return a Promise and allows use of await inside it.

๐Ÿ“บ Learn More: The Async Await Episode I Promised

await

Pauses inside an async function until a Promise is done.

const data = await fetch('/api/items');

๐Ÿ”— Learn More: MDN โ€“ await

fetch

Built-in browser function that makes HTTP requests to APIs. Returns a Promise.

๐Ÿ”— Learn More: MDN โ€“ fetch

๐ŸŽต Song: https://suno.com/s/fbOIwkbe1StSb6hY

๐Ÿ“บ Learn More: Learn JavaScript LOGICAL OPERATORS in 5 minutes โ—

AND (&&)

Returns the first falsy value or the last value if all are truthy. Often used in conditions.

๐Ÿ”— Learn More: MDN โ€“ Logical AND

OR (||)

Returns the first truthy value or the last value if none are truthy.

๐Ÿ”— Learn More: MDN โ€“ Logical OR

NOT (!) / Bang

Flips a boolean value.
Example: !true // false

๐Ÿ”— Learn More: MDN โ€“ Logical NOT

Triple Equals (===)

Strict comparison โ€” checks both value and type.

5 === '5'; // false

๐Ÿ“บ Learn More: Learn JavaScript STRICT EQUALITY in 3 minutes! ๐ŸŸฐ
๐Ÿ”— Learn More: MDN โ€“ Strict Equality

Truthy & Falsy

Values that count as true or false in an if statement.
Falsy values: 0, "", null, undefined, NaN, false

๐Ÿ”— Learn More: MDN โ€“ Truthy

Scoping

Where a variable exists in your code (block, function, or global).

๐Ÿ”— Learn More: MDN โ€“ Scope

Destructuring

A shortcut to pull values from objects or arrays.

const { name } = user;
const [first, second] = items;

๐Ÿ”— Learn More: MDN โ€“ Destructuring

Function

In programming, functions are reusable blocks of code that perform a specific task. They help organize code, avoid repetition, and make programs easier to understand and maintain. Functions can accept inputs (parameters) and return outputs.

Web programming examples:

// Function to validate email
function validateEmail(email) {
  return email.includes('@');
}

// Function to format user data
function formatUserData(user) {
  return {
    name: user.firstName + ' ' + user.lastName,
    email: user.email.toLowerCase()
  };
}

๐Ÿ”— Learn More: MDN โ€“ Functions

Anonymous Function

An anonymous function is a function that has no name and is often used as a callback or in event handlers. Theyโ€™re commonly used in web development for handling user interactions and API responses.

Web programming examples:

// Event handler (anonymous function)
button.addEventListener('click', function() {
  console.log('Button clicked!');
});

// Array method callback (arrow function - also anonymous)
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(function(num) {
  return num * 2;
});

// Arrow function version (also anonymous)
const tripled = numbers.map(num => num * 3);

๐Ÿ”— Learn More: MDN โ€“ Functions

Argument

The actual value passed to a function when calling it.

Return

Ends a function and sends a value back to wherever it was called.

push

Adds a value to the end of an array.

๐ŸŽต Song: https://suno.com/s/7xLQemRspSLltEYS
๐Ÿ”— Learn More: MDN โ€“ push

pop

Removes the last value from an array and returns it.

๐Ÿ”— Learn More: MDN โ€“ pop

Kata

A coding exercise where you practice implementing a specific feature or pattern repeatedly to build muscle memory and fluency. In our course, youโ€™ll work through React Katas to master component creation, state management, and event handling.

๐Ÿ“บ Learn More: What is a Coding Kata?
๐Ÿ”— Learn More: React Katas

import/export Module Cheatsheet

๐Ÿ“บ Learn More: JavaScript Modules in 100 Seconds
๐Ÿ”— Learn More: Module Cheatsheet