JavaScript

JavaScript course — Prowid
Course duration
4 months / 32 lessons
Individual
Per month 160 AZN
Group
Per month 130 AZN
Paying for the full course in a group
15% discount
Installments
50/50
Subscription
from 30 AZN a month
JavaScript is the main programming language of the web. In this course you will learn the modern language standard (ES2015+), working with the DOM, asynchronous programming and interacting with APIs.

Enrollment for a new group is open — send a request to reserve your seat

Lessons are taught live in Azerbaijani and Russian.

Or study on your own in your personal account → with a subscription from 30 AZN a month

Course curriculum

Introduction to JavaScript: environment setup, DevTools, console
Variables (let, const), data types, operators
Conditionals and loops
Functions: arrow functions, scope, closures
Objects and arrays: destructuring, spread and rest
Array methods: map, filter, reduce, sort
Strings, dates and regular expressions
Classes (class), this and prototypes
ES modules: import and export
Error handling: try/catch and debugging
DOM: selecting, creating and modifying elements
Events and event delegation
Forms and data validation
BOM: window, location, history, timers
Browser storage: localStorage, sessionStorage, IndexedDB
Asynchronous JavaScript: event loop, callbacks, Promise, async/await
HTTP, JSON and REST APIs: requests with fetch (Ajax)
Working with external APIs: authorization, errors, loading states
Web APIs: Geolocation, Web Workers, Canvas (overview)
npm and Vite: creating and building a project
jQuery: a brief overview for reading legacy code
Final project: an interactive web application with an API
How do we teach?

Learning stages

01

Webinar

Students join the lesson live. At the end of each lesson, students are sent a video recording of the class.

02

Homework

Every assignment is based on the topic covered in the webinar. Homework helps you reinforce the material and understand it better.

03

Working with a mentor

The teacher stays in touch with the group both during the course and outside class. Any questions get answered right away.

04

Portfolio

During the course you'll complete several projects on different topics — they'll show employers what you can do.

Self-paced learning

The full curriculum in your personal account

169 topics with theory, examples and practice. The first 8 are free, the rest come with a subscription. Interactive lessons with slides and coding trainers: 139.

Getting Started with JavaScript7 topics
  1. What JavaScript Is and Where It Runs
  2. Adding JavaScript to a Page: script, defer, async and Modules
  3. DevTools and the Console: console.log, table, group, time
  4. Dev Environment: VS Code, Node.js 22 and Running Scripts
  5. Syntax: Statements, Semicolons, Comments and Strict Mode
  6. Variables: let, const and Naming Rules
  7. Simple User Dialogs: alert, prompt and confirm
Data Types and Operators9 topics
  1. Data Types and the typeof Operator
  2. Numbers and Arithmetic Operators
  3. Strings: Quotes, Template Literals and Concatenation
  4. Booleans: true, false, Truthy and Falsy Values
  5. null vs undefined: What's the Difference
  6. Comparison Operators: == vs === and String Comparison
  7. Type Conversion: Explicit and Implicit Coercion
  8. Logical Operators &&, || and !: Short-Circuit Evaluation
  9. The ?? Operator and Logical Assignment: ||=, &&=, ??=
Conditions and Loops7 topics
  1. Conditionals: if, else if and else
  2. The Ternary Operator and Conditional Expressions
  3. The switch Statement: case, break and default
  4. while and do...while Loops
  5. The for Loop: Counters, Steps and Nested Loops
  6. Loop Control: break, continue and Labels
  7. Project: Guess the Number Game
Functions11 topics
  1. Function Declarations: Parameters, Arguments and Calls
  2. Returning Values: return and Early Exit
  3. Function Expressions: Functions as Values
  4. Arrow Functions
  5. Default Parameters and Rest Parameters
  6. Callbacks and Higher-Order Functions
  7. Scope: Global, Function and Block
  8. Hoisting, var and the Temporal Dead Zone
  9. Closures: How Functions Remember Their Scope
  10. Recursion and the Call Stack
  11. Project: A Digital Wallet Built on Closures
Objects7 topics
  1. Objects: Literals, Properties, Dot and Bracket Notation
  2. Property Shorthand and Computed Keys
  3. Object Methods and a First Look at this
  4. Objects by Reference: Comparison and Mutation
  5. Copying Objects: Spread, Object.assign and structuredClone
  6. Object Destructuring
  7. Optional Chaining ?.: Safe Property Access
Arrays and Array Methods13 topics
  1. Arrays: Creation, Indexes, length and at()
  2. Adding and Removing Items: push, pop, shift, unshift, splice
  3. Iterating Arrays: for, for...of and forEach
  4. Array Destructuring and Spread Syntax
  5. Searching and Checking: find, findLast, some, every
  6. map and filter: Transforming and Filtering Arrays
  7. reduce: Folding an Array into a Single Value
  8. Iterating Objects: for...in, Object.keys, values and entries
  9. Grouping Data with Object.groupBy
  10. Sorting: sort, Compare Functions and localeCompare
  11. Non-Mutating Methods: slice, concat, toSorted, toReversed, with
  12. Creating and Reshaping: Array.from, fill, flat, flatMap, join
  13. Project: Online Store Order Analytics
Strings, Regular Expressions, Numbers and Dates11 topics
  1. String Methods: Searching and Checking
  2. String Methods: Slicing, Replacing, split and join
  3. Regular Expressions: Syntax, Flags and Character Classes
  4. RegExp: Quantifiers, Groups and Alternation
  5. RegExp in Practice: match, matchAll, replace and Validation
  6. Working with Numbers: Math, Rounding, parseInt and BigInt
  7. The Date Object: Creating Dates and Reading Components
  8. Date Arithmetic and Time Zones
  9. Intl.DateTimeFormat and RelativeTimeFormat: Formatting Dates
  10. Intl.NumberFormat, PluralRules and ListFormat
  11. Project: Text Analyzer with a Multilingual Report
Map, Set, JSON and Iterators7 topics
  1. Map: Keys of Any Type
  2. Set: Unique Values and Set Operations
  3. WeakMap, WeakSet and Garbage Collection
  4. JSON: JSON.stringify and JSON.parse
  5. Symbol: Unique Keys and Well-Known Symbols
  6. Iterators and Iterables
  7. Generators: function* and yield
OOP: this, Prototypes and Classes10 topics
  1. this: How the Context Is Determined
  2. call, apply and bind: Controlling the Context
  3. Constructor Functions and the new Operator
  4. Prototypes and the Prototype Chain
  5. Classes: constructor, Methods and Fields
  6. Inheritance: extends, super and instanceof
  7. Getters and Setters
  8. Static Properties and Methods
  9. Private Fields and Methods with #
  10. Project: A Class-Based Library Management System
Errors and Debugging5 topics
  1. Handling Errors: try, catch and finally
  2. The Error Object, Error Types and throw
  3. Custom Error Classes: extends Error
  4. Debugging in DevTools: Breakpoints and debugger
  5. Common Errors and Debugging Strategies
Working with the DOM9 topics
  1. What the DOM Is: the Node Tree and document
  2. Selecting Elements: querySelector, getElementById, closest
  3. Traversing the DOM: Parents, Children and Siblings
  4. Element Content: textContent, innerHTML and innerText
  5. Attributes and Properties: getAttribute, setAttribute, dataset
  6. classList and Styles: Managing Classes and CSS
  7. Creating, Inserting and Removing Elements
  8. Rendering from Data: template, DocumentFragment, replaceChildren
  9. Sizes and Scrolling: getBoundingClientRect and scrollIntoView
Events10 topics
  1. Event Listeners: addEventListener and removeEventListener
  2. The Event Object: target, currentTarget and preventDefault
  3. Event Propagation: Bubbling and Capturing
  4. Event Delegation
  5. Mouse and Pointer Events
  6. Keyboard Events: keydown, key and code
  7. Page Lifecycle: DOMContentLoaded, load, scroll and resize
  8. Custom Events: CustomEvent and dispatchEvent
  9. Project: Calculator
  10. Project: Image Slider
Forms and Browser Storage7 topics
  1. Working with Forms: form.elements, value, checked and select
  2. Form Events: submit, input, change and FormData
  3. Built-in Validation: the Constraint Validation API
  4. Custom Validation in JavaScript: Rules and Error Messages
  5. Project: Registration Form with Validation
  6. localStorage and sessionStorage: Storing Data in the Browser
  7. Project: To-Do List with localStorage
Asynchronous JavaScript10 topics
  1. Timers: setTimeout and setInterval
  2. The Event Loop: Call Stack and Task Queue
  3. Microtasks and Macrotasks: Execution Order
  4. Asynchronous Callbacks and Callback Hell
  5. Promises: States, then, catch and finally
  6. Promise Chaining and Errors in Chains
  7. Promise.all, allSettled, race, any and withResolvers
  8. async/await: Writing Async Code in a Synchronous Style
  9. Async Error Handling: Parallel vs Sequential Execution
  10. Project: Quiz App with a Timer
Networking: fetch and REST APIs7 topics
  1. HTTP and REST for Frontend: Methods, Status Codes, Headers
  2. GET Requests with fetch: Response, json() and URLSearchParams
  3. Sending Data: POST, PUT, PATCH and DELETE
  4. Network Errors, Timeouts and AbortController
  5. Loading States in the UI and Request Race Conditions
  6. API Authentication: Keys, Tokens and CORS
  7. Project: Weather App Using a Public API
Browser APIs9 topics
  1. The BOM: window, location, navigator and screen
  2. History API: pushState, popstate and Simple Routing
  3. IntersectionObserver: Lazy Loading and Infinite Scroll
  4. Geolocation and Clipboard APIs: Working with Permissions
  5. IndexedDB: An Introduction to the Browser Database
  6. Web Workers: Running Heavy Work in the Background
  7. Canvas: An Introduction to Drawing
  8. Drag and Drop API: Dragging Elements
  9. Project: Kanban Board with Drag & Drop
Modules, npm and Tooling7 topics
  1. ES Modules: import and export
  2. Dynamic import(), Top-Level await and import.meta
  3. npm: package.json, Dependencies and Scripts
  4. Vite: Project Setup, Dev Server and Build
  5. Code Style: ESLint and Prettier
  6. Unit Testing with Vitest
  7. jQuery: A Quick Overview for Reading Legacy Code
Professional Practices and Final Project7 topics
  1. Functional Style: Pure Functions and Immutability
  2. Currying, Partial Application and Function Composition
  3. Debounce and Throttle: Controlling Call Frequency
  4. Frontend Security: XSS, innerHTML vs textContent
  5. Performance: Reflow, requestAnimationFrame and Memory Leaks
  6. Project: SPA Product Catalog with Filters
  7. Final Project: An Interactive Web App Powered by an API
Browser APIs and Advanced JS6 topics
  1. WebSocket in the Browser: Two-Way Real-Time Communication
  2. File API: Files, Blob and FileReader
  3. `Proxy` and `Reflect`: Intercepting Object Behavior
  4. Web Components: customElements.define, Lifecycle, Attributes and Events
  5. Shadow DOM, <template> and Slots: Encapsulated CSS and Composing Components
  6. Bundlers: webpack and Rollup Basics, Tree Shaking, Code Splitting
Libraries, Networking and Security6 topics
  1. HTTP Clients: Axios vs fetch, Interceptors, Timeouts and Retry
  2. Auth on the Client: JWT, Token Storage, Refresh and OAuth 2.0 PKCE
  3. Utility Libraries: lodash, dayjs, date-fns and Bundle Size
  4. Charts: Chart.js (config, datasets, options, updating) and a D3 Primer
  5. Animation Libraries: GSAP (tweens, timelines, ScrollTrigger) vs CSS and the Web Animations API
  6. WebRTC Basics: getUserMedia, RTCPeerConnection, Signaling and Data Channels
Graphics, Offline Mode and Audio3 topics
  1. Three.js Basics: Scene, Camera, Light, Animation and glTF
  2. PWA and Service Workers: Manifest, Cache and Offline Mode
  3. Web Audio API: Sound Synthesis, Samples and Visualization
Security, Testing and Deployment1 topics
  1. E2E Testing in Plain JS: Playwright

Group and individual classes include a teacher, homework review and a certificate. The subscription gives you materials, exercises and progress tracking at your own pace, without teacher feedback.

JavaScript course: how to enroll

Fill in the form and we will tell you the start date of the next group, the schedule and payment terms. Or come to a free trial lesson first.

WhatsApp