# JavaScript Programming Bootcamp

Canonical URL: <https://www.nobledesktop.com/classes/javascript-programming-fundamentals>

## Overview

Modern web applications must be optimized to handle large amounts of fast-moving data. How do we do this with JavaScript? In this course, you’ll learn how JavaScript works and begin coding 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](/classes/coding-classes-new-york-city-nyc) 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

## Instructors

### Dan Rodney — School Director, Instructor, & Senior Course Developer

Dan Rodney has been a designer and web developer for over 20 years, creating coursework and leading innovative training initiatives at Noble Desktop. He teaches courses covering Figma, HTML & CSS, Adobe Photoshop, InDesign, Illustrator, and Power BI. Dan has also been at the forefront of integrating AI into design and business workflows, spearheading Noble Desktop’s latest AI course offerings. In addition to teaching and curriculum development, he writes custom scripts for InDesign (Make Book Jacket, Proper Fraction Pro, and more) and works with automation and AI-driven tools in his free time. You can find Dan on X (Twitter), LinkedIn, Facebook, and at danrodney.com.

Learn more about [Dan Rodney's](/dan-rodney) background and expertise.

### Brian McClain — Program Director & Senior Instructor

Brian McClain is an experienced instructor, curriculum developer, and web developer. Brian served as Director for a coding bootcamp before joining Noble Desktop in 2022, where he is now a lead instructor and course developer for both JavaScript and Python. He teaches Web Development, JavaScript, Python for Data Science, Machine Learning, and AI. Prior to Noble, he taught Python Data Science and Machine Learning as an Adjunct Professor of Computer Science at Westchester County College.

Brian is also an active industry professional in the field of generative AI app development. His website and iOS app, Artmink, provides appraisals of art and antiques from user-uploaded images.

### Colin Jaffe — Instructor

Colin Jaffe is a programmer, writer, and teacher with a passion for creative code, customizable computing environments, and simple puns. He loves teaching code, from the fundamentals of algorithmic thinking to the business logic and user flow of application building—he particularly enjoys teaching JavaScript, Python, API design, and front-end frameworks.

Colin has taught code to a diverse group of students since learning to code himself, including young men of color at All-Star Code, elementary school kids at The Coding Space, and marginalized groups at Pursuit.

Colin lives in Brooklyn with his wife, two kids, and many intricate board games.

### Greyson Frazier — Instructor

Greyson Frazier is a Software Engineer with over a decade of experience building applications using JavaScript, React, Node.js, Angular, TypeScript, Java, AWS, Tailwind, and Next.js. He holds a Bachelor of Science in Computer Science from Rutgers University and previously worked as a software engineer at Capital One, where he developed scalable, enterprise-level applications.

Greyson is an experienced instructor who has previously taught at Code Immersives and Coding Temple. He is passionate about creating hands-on, supportive learning environments and has developed curriculum designed to make complex technical concepts approachable and practical for students.

Based in Bloomfield, NJ, Greyson stays current with evolving web development frameworks, particularly React and Next.js, and is dedicated to helping students develop the skills needed to succeed in today’s technology landscape.

### Chett Tiller — Instructor

Chett Tiller is an experienced web developer who has brought his expertise with React, Node, and full-stack development to multiple companies over his career. After transitioning six years ago to an instructor, first at the Flatiron School and now at Noble Desktop, Chett has brought his passion for full-stack engineering to hundreds of students and guided them on their journeys from fledgling developers to their first job offers.

When Chett isn't busy teaching students or writing curriculum, he builds online products for local volunteer organizations and dabbles in game development.

## Pricing

**Tuition:** $2495
