# JavaScript Programming Bootcamp

Canonical URL: <https://training-nyc.com/courses/javascript-programming-fundamentals>

## Overview

Don’t just copy and paste code without understanding what it does. Learn how JavaScript works and how to code it properly (using its newer syntax and procedures) as it applies to web app development.

Modern web applications must be optimized to transfer large amounts of fast moving data. How do we do this with JavaScript? In this course you’ll learn the foundational and important concepts of JavaScript web programming.

## What you'll learn

- Fundamentals of JavaScript programming from the ground up
- Variables, Conditional Logic (if-else), Arrays, Objects, and Loops
- Newest 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
- JS Libraries, including 3D in the browser with D3 and Three.js

## Prerequisites

Students should feel comfortable coding HTML and basic CSS. You should have knowledge equivalent to our [Web Development Level 1](/courses/web-development-level-1) 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 — NYC
- Oct 5, 2026 – Nov 5, 2026 — NYC
- Oct 5, 2026 – Nov 5, 2026 — NYC

## Pricing

**Tuition:** $2495
