Moreover, the certified individual understands the universal concepts of computer programming and a programmer’s work and role in the software development process; knows how to apply best coding practices and conventions; thinks algorithmically and is able to analyze a problem using a programmatic conceptual apparatus.
|Exam Short Form
|Exam Code/Current Exam Version
||JSE-40-0x/JSE-40-01 (Release Date: Nov 5, 2021)
||45 minutes – Tutorial/NDA: 5 minutes, Exam: 40 minutes
|Number of Exam Items
||Single-selection and multiple-selection items
||OpenEDG Testing Service (Global/Default: online, non-proctored), OpenEDG Testing Centers (Local/Limited: online, proctored)
||JSE Exam Policy
||JSE Exam Syllabus
- understand the fundamental programming concepts, such as: interpreting and the interpreter, compilation and the compiler, client-side vs. server-side programming;
- have a basic knowledge of how to set up and use a basic programming environment (online or local)
- have the knowledge and skills to work with variables, i.e. naming, declaring, initializing and modifying their values;
- understand concepts such as scope, code blocks, shadowing, hoisting;
- know the basic properties of primitive data types such as boolean, number, bigint, undefined, null, and be able to use them;
- be familiar with the basic properties of the primitive data type string, including string literals – single or double quotes, escape character, string interpolation, basic properties and methods;
- know the basic properties of complex data types such as Array and Object (treated as a record) and be able to use them in practice.
- know what operators are and how we classify them (by type of operands, by number of operands, etc.)
- be able to use assignment, arithmetic, logical, and comparison operators in practice;
- have an understanding of the operation of the conditional operator and the typeof, instanceof, and delete operators;
- understand what the precedence and associativity of basic operators are and be able to influence it by means of bracket grouping;
- be able to perform basic two-way communication with the program user using the alert, confirm, and prompt dialog boxes.
- be able to force conditional execution of a group of statements (make decisions and branch the flow) using if-else and switch commands;
- be able to force a group of statements to repeat in a loop using the for, while, and do-while commands, using both dependent and independent conditions on the number of iterations;
- understand and be able to use loop-specific break and continue instructions;
- be able to use the for-in statement to iterate over properties of an object;
- be able to use the for-of statement to walk through the elements of an array.
- be able to declare and call functions;
- know how to pass call arguments to a function and return the result of its operation from it;
- understand the concept of a local variable and the effect of shadowing variables with the same names within a function;
- know that a function in JS is a first-class member and be able to take advantage of this by declaring functions using function expression and passing functions as arguments to calls of other functions;
- understand the concept of recursion in the context of functions and be able to solve simple programming problems by using it;
- have a basic understanding of the callback function and be able to use it asynchronously in conjunction with the setTimeout and setInterval methods;
- have a clear understanding of arrow function notation and be able to write functions alternatively as a regular declaration, a function expression, and an arrow function.
- understand the differences between syntactic, semantic, and logical errors;
- understand the concept of an exception and distinguish between the basic exceptions generated by JS when an error occurs: SyntaxError, ReferenceError, TypeError, RangeError;
- have the ability to handle exceptions using the try-catch-finally statement;
- be able to generate their own exceptions using the throw statement;
- have the skills to use the debugger for basic analysis of their own code, including: step-by-step execution, viewing and modifying variables, and measuring code execution time.
JSE Certification Holder Profile
- thinks algorithmically and can analyze a problem using a programmatic conceptual apparatus;
- can choose a data type adequate to the problem being solved, and use suitable flow control means;
- can interpret and handle basic exceptions related to errors in program execution;
- understands a programmer's work in the software development process and the role of fundamental development tools;
- knows how a program is interpreted and executed in an actual computer environment, local or remote;
- can create and develop their own programming portfolio.