JSE Certified Entry-Level JavaScript Programmer study plan
JSE Certified Entry-Level JavaScript Programmer · Give each week a clear focus.
8 weeks · About 7 hours per week
JavaScript Basics and Syntax & Variables, Data Types, and Type Coercion
Write and run 30 short scripts that declare variables with let, const, and var, then predict the output before executing each one.
Classify every value you encounter into primitive vs object and record the result in a one-page reference table.
Demonstrate the difference between block scope and function scope using at least five paired code snippets.
Apply strict mode to a scratch file and document three behaviors that change when it is enabled.
Your checkpoint
A personal syntax cheat sheet plus a folder of 30 runnable snippets, each with a comment stating the predicted and actual output.
Variables, Data Types, and Type Coercion & Operators and Expressions
Trace implicit coercion for ==, +, -, and template literals across at least 20 mixed-type expressions, writing the intermediate type at each step.
Distinguish == from === in 15 cases and justify each result using the coercion rules rather than intuition.
Use typeof and Number.isNaN to detect edge values such as null, undefined, NaN, and empty string without relying on truthiness.
Build a table of falsy values and verify each entry by running code.
Your checkpoint
A coercion trace log covering 20 expressions, each annotated with the coerced types and the final value, verified by execution.
Operators and Expressions & Control Flow and Loops
Combine arithmetic, comparison, logical, and nullish coalescing operators in 15 expressions and predict precedence before running them.
Rewrite five nested if/else chains as switch statements or ternary expressions and compare readability.
Convert three for loops into while and do/while equivalents and explain when the output differs.
Implement break and continue in a nested loop and describe exactly which loop each statement affects.
Your checkpoint
A set of 10 small loop exercises (sum, filter, count, pattern printing) with all outputs matching expected results.
Functions and Scope
Write 12 functions covering declarations, expressions, and arrow forms, and state for each whether it is hoisted.
Demonstrate closure by building a counter factory and a private-variable module in separate files.
Predict this binding in five call patterns (method call, plain call, arrow inside method, call/apply, constructor) and verify each.
Explain the difference between parameters and arguments, including default and rest parameters, with runnable examples.
Your checkpoint
A closure-based counter module plus a written this-binding prediction table scored against actual output (target: 5 of 5 correct).
Arrays and Objects
Manipulate arrays with push, pop, shift, unshift, splice, and slice, recording the returned value and the mutated array for each call.
Transform data using map, filter, reduce, and find on an array of at least 10 objects.
Create and destructure nested objects and arrays, including renaming and default values.
Iterate object keys and values with Object.keys, Object.values, and Object.entries and convert between object and array forms.
Your checkpoint
A small in-memory data report: given an array of 10 records, produce grouped totals using reduce and print a formatted summary.
Arrays and Objects & Built-in Objects and Standard Library
Use string methods (split, slice, replace, trim, padStart) to normalize and reformat 10 messy input strings.
Format dates and numbers with Intl and toFixed, and explain the rounding behavior you observe.
Use Math and JSON methods to round values and round-trip an object through JSON.stringify and JSON.parse.
Explain shallow vs deep copy by mutating a copied nested object and showing the effect on the original.
Your checkpoint
A string-and-number utility script with at least 10 functions, each accompanied by two input/output examples that you verified.
Error Handling and Debugging & Functions and Scope
Throw and catch built-in error types (TypeError, RangeError, ReferenceError) and log a custom message for each.
Write try/catch/finally blocks that demonstrate the order of execution, including a return inside try.
Debug five deliberately broken scripts using console methods and breakpoints, and record the root cause of each.
Add input validation to one earlier function that rejects bad arguments with a clear thrown error.
Your checkpoint
A debugging journal documenting five bugs: symptom, tool used, root cause, and the fix, with before/after code.
DOM Basics and Events & JavaScript Basics and Syntax
Select and modify elements with querySelector and classList, and update text content safely without innerHTML.
Attach click and submit handlers using addEventListener and prevent default form behavior.
Explain event bubbling by logging events on a parent and child element.
Complete two timed mixed-domain practice sets and review every missed item against the relevant domain notes.
Your checkpoint
A working single-page to-do list (add, mark done, remove) plus a scored review sheet listing weak domains and the specific topics to revisit.
Milestones
Week 2: Without running code, correctly predict the output of 15 mixed-type coercion expressions; verify by execution and score at least 12 of 15.
Week 4: Write a closure-based counter from scratch in under 10 minutes and correctly predict this binding in 5 of 5 call patterns.
Week 6: Given an array of 10 objects, produce grouped totals with reduce and a formatted string report in under 20 minutes without reference material.
Week 8: Score at least 80 percent on two timed mixed-domain practice sets and ship the working to-do list page.