# JavaScript Programming Bootcamp

Canonical URL: <https://www.graduateschool.edu/courses/javascript-programming-fundamentals>

## Overview

Today’s modern web applications need to be optimized to process large volumes of rapidly changing data. How can JavaScript help achieve this? In this course, you’ll discover how JavaScript functions and start building web applications.

## What you'll learn

- Fundamentals of JavaScript programming from the ground up
- Variables, conditional logic (if-else), arrays, objects, and loops
- Latest ES6 and ES7 features, including arrow functions, let, and const
- Functions, parameters, arguments, and return values
- Higher-level functions and callbacks
- Array and string methods
- Asynchronous JavaScript with promises and async-await
- APIs (Application Programming Interfaces)
- Parsing and working with JSON (JavaScript Object Notation) data
- OOP (Object-Oriented Programming) and modules
- Coding interview challenge prep
- Projects and portfolio development
- JavaScript libraries

## Prerequisites

Students should feel comfortable coding HTML and basic CSS. You should have knowledge equivalent to our [Web Development Level 1](/courses/coding-html-css) class.

## Curriculum

#### Variables

- Strings, numbers, booleans; var vs let
- NaN, Number() method, null, error messages
- Nested quotes string concatenation / Interpolation
- Math object, math operators, random numbers

#### Conditional Logic

- If / else if / else; block scoped variables
- Nested logic; truthy / falsey values
- Ternary expressions; switch-case-break
- Date-Object; the “new” keyword

#### Functions and the DOM (Document Object Model)

- Function parameters / arguments; return values
- DOM (Document Object Model) events
- DOM Project: Log In form
- DOM Project: Restaurant Bill Calculator form
- DOM Project: Signup form
- Hoisting; function expressions; anonymous functions
- DOM Project: Apartment Rent Estimator form
- Keyboard events; setting CSS with JS
- DOM Project: Mystery Number Guessing Game

#### Arrays and Objects

- Arrays: item index; nested arrays
- Objects: the “const” keyword; properties; nested objects
- Array Methods: push(), pop(), sort(), splice(), et al
- String methods: replace(), includes(), charAt(), et al

#### Loops

- For Loops; iterating (looping) arrays
- Looping Arrays of Objects
- While / Do While Loops, Nested Loops
- DOM Project: Making deck of cards & dealing hand
- Passing arrays to functions
- Classic Coding Interview Questions / Challenges

#### Creating DOM Elements Dynamically

- Creating elements: createElement(), appendChild()
- DOM Project: Chinese Zodiac Animals; Audio()
- DOM Project: Password Generator
- DOM Project: Lottery Ticket Generator
- Dynamically adding properties to Arrays of objects
- DOM Project: Sort Movies by Title, Year and Duration

#### Array Callbacks & Arrow Functions

- Callbacks: Functions that take functions as arguments
- Array Callback Methods: map(), filter(); method chaining
- Arrow =\> Functions
- forEach() method, instead of a for loop
- reduce() method

#### Timer for Calling Functions and Animation

- setInterval() runs a callback function repeatedly on a delay
- setTimeout() runs a callback function once only on a delay
- DOM Project: Update Digital Clock every Second
- DOM Project: Coffee Site with Animated “Clock-Guy” Hands
- DOM Project: Deal Hands of Poker & Blackjack on Timer

#### Asynchronous Events & APIs

- Synchronous vs Asynchronous Events
- JSON (JavaScript Object Notation); parse & stringify
- DOM Project: Lyric Search API; Promises
- DOM Project: Cryptocurrency Prices API; Async-Await
- Adding a Search Box to Website to Filter API Request

#### OOP (Object Oriented Programming)

- Function Objects; Prototype
- “Class” keyword; constructor() method; private vs public
- DOM Project: OOP Memory Game, Pt 1
- DOM Project: OOP Memory Game, Pt 2
- Modules: Exporting and Importing Classes

## Schedule
- Jul 27, 2026 – Aug 27, 2026 — Live Online
- Oct 5, 2026 – Nov 5, 2026 — Live Online

## Pricing

**Tuition:** $2495
