JavaScript Essentials 1
Target Audience
The JavaScript Essentials 1 curriculum is designed for students with little or no prior knowledge of programming: students of secondary school, university, vocational school, or simply anyone interested in learning programming.
Prerequisites
There are no specific prerequisites for this course except motivation and very basic knowledge in mathematics. The main goal of the course is to introduce the student to computer programming using JavaScript from the state of complete programming illiteracy to a level that will allow them to start their own studies at an intermediate level and continue their journey with programming.
Curriculum Description
The JavaScript Essentials 1 course introduces the student to some universal computer programming concepts, such as data types, type casting, containers, comments, operators, conditional execution, loops, functions, errors, exceptions, troubleshooting, and code debugging. The course guides the student step-by-step to understanding and using the core JavaScript language to design, build, and improve simple JavaScript programs.
Programa
- About JavaScript (how to communicate with the computer, what is JS, advantages and limitations of JS, where is JS used today)
- Setting up the programming environment (development tools, online development environment, local development environment)
- First JS program – Hello, World! (a few words about HTML, how to run your JavaScript code, executing the code directly in the console)
- Variables (naming, declaring and initializing variables, declarations and strict mode, changing variable values, constants, scope)
- Primitive data types (Boolean, Number, BigInt, String, undefined, null, type casting – primitive construction functions and primitive conversions, implicit conversions)
- Complex data types (Object, Array, basic Array properties and methods)
- Comments (single-line comments, multi-line comments, documentation)
- Assignment, arithmetic, and logical operators (what are operators, assignment operators, arithmetic operators, logical operators, compound assignment operators)
- Strings, JS operators including comparison operators (string concatenation and compound assignments, comparison operators, conditional operators, typeof, instanceof and delete operators, operator precedence)
- Interacting with the user (dialog boxes – alert, confirm, prompt)
- Conditional execution (what is conditional execution, the if–else statement, the conditional operator, the switch–case statement)
- Loops (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)
- Function basics (what are functions, declaring functions, calling functions, local variables, the return statement, function parameters, shadowing)
- Functions as first-class members (function expressions, passing a function as a parameter, callbacks)
- Arrow functions (declaring and calling)
- Recursion (basic idea)
- Errors and exceptions – introduction (natural languages and communication errors, errors vs. exceptions, errors without exceptions, limited confidence)
- Basic types of errors in JS (SyntaxError, ReferenceError, TypeError, RangeError)
- Exception handling (the try–catch statement, the finally statement, the throw statement, and custom errors)
- Code debugging and troubleshooting (what is debugging, step-by-step execution, viewing and modifying variables, the step out option, measuring code execution time)