JSE™ – Certified Entry-Level JavaScript Programmer (Exam JSE-40-0x) – EXAM SYLLABUS



JSE-40-01 Exam Syllabus


Status: LIVE & ACTIVE

JSE-40-01 badge

The exam consists of six sections:

  • Section 1 → 3 items, Section Weight: 8%
  • Section 2 → 6 items, Section Weight: 20%
  • Section 3 → 5 items, Section Weight: 18%
  • Section 4 → 6 items, Section Weight: 21%
  • Section 5 → 6 items, Section Weight: 21%
  • Section 6 → 4 items, Section Weight: 12%




Objectives covered by the block (3 exam items)

JSE-40-01 1.1 – Understand fundamental terms and definitions

  • interpreting and the interpreter
  • compilation and the compiler
  • client-side vs. server-side programming

JSE-40-01 1.2 – Set up the programming environment

  • basic development tools
  • online vs. local development environment (code editor, interpreter, debugger)

JSE-40-01 – 1.3 Explain client-side execution of JavaScript code

  • HTML fundamentals
  • embedding JavaScript code
  • executing code directly in the console


Objectives covered by the block (6 exam items)

JSE-40-01 2.1 – Use variables effectively

  • naming, declaring and initializing variables
  • changing values assigned to variables
  • constants
  • scope (blocks, shadowing, hoisting)

JSE-40-01 2.2 – Define, identify, and use primitive data types in code: boolean, number, bigint, undefined, null

  • the number range and its formats
  • the bigint range
  • boolean values
  • empty and unknown values (null or undefined)

JSE-40-01 2.3 – Define, identify, and use primitive data types in code: string

  • string literals – single and double quotes
  • the escape character
  • string interpolation
  • basic properties and methods: length, charAt, slice, split

JSE-40-01 2.4 – Perform type-casting operations

  • primitive construction functions: String, Number, BigInt, Boolean
  • primitive conversions
  • implicit conversions

JSE-40-01 2.5 – Define, identify, and use complex data types in code: Object

  • object as a record
  • object literals
  • getting and setting properties

JSE-40-01 2.6 – Define, identify, and use complex data types in code: Array

  • array as an example of a complex data type
  • basic properties and methods of arrays: length, indexOf, push, unshift, pop, shift, reverse, slice, concat


Objectives covered by the block (5 exam items)

JSE-40-01 3.1 – Recognize and proficiently utilize assignment, arithmetic, and string operators

  • definition of operators
  • assignment operators
  • arithmetic operators
  • compound assignment operators

JSE-40-01 3.2 – Identify and proficiently use logical and comparison operators

  • logical operators
  • compound assignment operators
  • comparison operators

JSE-40-01 3.3 – Recognize and effectively use the ternary and other JavaScript operators

  • ternary (conditional) operator
  • other operators: typeof, instanceof, and delete

JSE-40-01 3.4 – Understand and implement operator precedence

  • precedence and associativity of basic operators
  • using brackets to force a specific order of operations (grouping)

JSE-40-01 3.5 – Implement the mechanism for interacting with the user

  • dialog boxes: alert, confirm, prompt
  • actions based on user decisions


Objectives covered by the block (6 exam items)

JSE-40-01 4.1 – Implement the decision-making mechanism and organize the control flow with the if instruction

  • conditional statements: if, if-else
  • multiple conditional statements
  • nesting conditional statements

JSE-40-01 4.2 – Implement the decision-making mechanism and organize the control flow with the switch instruction

  • conditional statement: switch-case

JSE-40-01 4.3 – Implement the decision-making mechanism and organize the control flow with the do-while and while loops, and the break and continue instructions

  • repeating a code fragment in a loop
  • iterations
  • conditions that (don’t) depend on the number of iterations
  • basic statements related to loops: while, do … while, break, case

JSE-40-01 4.4 – Implement the decision-making mechanism and organize the control flow with the for statement

  • repeating a code fragment using the for statement

JSE-40-01 4.5 – Implement the decision-making mechanism and organize the control flow with the for-in statement

  • using the for ... in statement for enumerating object keys

JSE-40-01 4.6 – Implement the decision-making mechanism and organize the control flow with the for-of statement

  • using the for ... of statement for traversing arrays


Objectives covered by the block (6 exam items)

JSE-40-01 5.1 – Organize and decompose the code using functions

  • declaring, calling, and passing arguments
  • returning function results

JSE-40-01 5.2 – Organize and implement interactions between the function and its environment

  • parameters
  • local variables
  • shadowing

JSE-40-01 5.3 – Apply function expressions and functions as first-class members in code

  • storing a function in a variable
  • passing a function as a parameter
  • named and anonymous function expressions

JSE-40-01 5.4 – Understand and implement the concept of recursion

  • using recursion to solve simple computational problems

JSE-40-01 5.5 – Explain and implement callback functions

  • synchronous callbacks
  • asynchronous callbacks
  • setTimeout, setInterval

JSE-40-01 5.6 – Explain and implement arrow functions

  • notation of function expressions in the arrow form
  • passing arguments
  • shortened form for a function body with one statement


Objectives covered by the block (4 exam items)

JSE-40-01 6.1 – Classify and distinguish between different programming errors

  • error classification: syntax, semantics, and logical errors
  • runtime errors

JSE-40-01 6.2 – Compare and contrast different JavaScript errors and exceptions

  • basic types of JavaScript errors: Syntax Error, ReferenceError, TypeError, RangeError

JSE-40-01 6.3 – Understand, examine, and design an exception-handling mechanism in JavaScript

  • handling: try ... catch ... finally
  • throwing custom exceptions: throw

JSE-40-01 6.4 – Use different debugging and troubleshooting techniques

  • step-by-step execution
  • viewing and modifying variables
  • measuring code execution time


Last updated: September 27, 2022
Aligned with Exam JSE-40-01