Módulo 1: Introduction to JavaScript and Computer Programming
- How to communicate with the computer?;
- What is JS?;
- JS – Advantages and Limitations;
- Where is JS used today?;
- Development tools;
- Online development environment;
- Local development environment (code editor, interpreter, debugger);
- How can you run your JavaScript code?;
- Executing the code directly in the console.
Módulo 2: Variables, Data Types, Type Casting, and Commments
- Naming, declaring and initializing variables;
- Declarations and strict mode;
- Changing variable values;
- Constants;
- Scope (blocks, shadowing, hoisting);
- Data types in JS;
- Primitive data types – Boolean;
- Primitive data types – Number;
- Primitive data types – BigInt;
- Primitive data types – String;
- Primitive data types – undefined;
- Primitive data types – Symbol;
- Primitive data types – null;
- Type casting – primitive construction functions – null;
- Type casting – primitive conversions;
- Conversion to String;
- Conversion to Number;
- Conversion to Boolean;
- Conversion to BigInt;
- Implicit Conversions;
- Complex data types – Object;
- Complex data types – Array;
- Array – the length property;
- Array – the indexOf method;
- Array – the push method;
- Array – the unshift method;
- Array – the pop method;
- Array – the reverse method;
- Array – the slice method;
- Array – the concat method;
- Single-line comments;
- Multi-line comments;
- Documentation;
- Code toggle.
Módulo 3: Operators and User Interaction
- What are operators?;
- Assignment operators;
- Arithmetic operators;
- Arithmetic operators – compound assignment operators;
- Logical operators;
- Logical operators – compound assignment operators;
- String operators: concatenation and compound assignment;
- Comparison operators;
- Other JS operators (typeof, instanceof, delete, and ternary);
- Operator precedence;
- How to interact with the user in JavaScript?;
- Dialog boxes – alert;
- Dialog boxes – confirm;
- Dialog boxes – prompt.
Módulo 4: Control Flow – Conditional Execution and Loops
- What is conditional execution?
- The if statement;
- The if–else statement;
- The if–else–if statement;
- The conditional operator;
- The switch–case statement;
- What are loops?;
- The while loop;
- The do–while loop;
- The for loop;
- The for–of loop;
- The for–in loop;
- The break and continue statements.
Módulo 5: Functions
- What are functions?;
- Declaring functions;
- Calling functions;
- Local variables;
- The return statement;
- Function parameters;
- Shadowing;
- Parameter validation;
- Recursion;
- Functions as first-class members;
- Function expressions;
- Synchronous callbacks;
- Asynchronous callbacks;
- Arrow functions.
Módulo 6: Errors, exceptions, debugging, and troubleshooting
- Errors – the programmer’s daily bread;
- Natural languages and communication errors;
- Errors vs exceptions;
- Errors without exceptions;
- Limited confidence;
- Types of errors – SyntaxError;
- Types of errors – ReferenceError;
- Types of errors – TypeError;
- Types of errors – RangeError;
- The try–catch statement;
- Conditional exception handling;
- The finally statement;
- The throw statement and custom errors;
- What is debugging?;
- Step-by-step execution;
- Environment preparation;
- The debugger statement;
- The resume option;
- Code debugging without the debugger statement;
- The step over option;
- The step into option;
- The call stack option;
- Viewing and modifying variables;
- The step out option;
- TMeasuring code execution time.