Study Resources


Your all-singing, all dancing learning hub – Edube Interactive

Learn to program by doing, with all the most important elements of interactive learning scenarios, gamified motivation systems, and well-planned learning paths. Go to Edube Interactive and sign up for the course!

  • Test and experiment with your code in the Sandbox – an online, browser-based programming environment integrated with the courses and study resources.
  • Put what you've learned into practice – perform lab scenarios, and take assessment tests to see how well you've mastered the programming concepts and techniques covered by the courses.
  • Finally, take the certification exams to earn industry-recognized credentials, pursue a career in IT and programming, and land your dream job.

Your goal is our goal!

All our courses cover both theoretical and practical concepts that are essential for interacting with real-life programming tasks and situations. They contain quizzes, tests, interactive assessments, and lab exercises that facilitate the understanding of programming concepts and the conversion of knowledge into practical skills. They have been designed and reviewed by experienced faculty and industry professionals, with the goal of meeting current market trends, and equipping you with a handset of skills for careers in software development, IT, and related technologies.

The courses are aligned with industry certifications which help to validate your skills and gain recognition for your programming expertise. They cover all the levels of programming language proficiency: entry, associate, and professional (coming Oct 2022).

Edube Interactive™ is a fully integrated learning and assessment system that takes you from beginner to advanced, and prepares you for the real world of programming.





JavaScript Essentials 1 (JSE1)

This course is the first in a 2-course series, and it will prepare you for the JSE – Certified Entry-Level JavaScript Programmer certification exam.

The main goal of the course is to guide you from a state of complete programming illiteracy to a level of programming knowledge which allows you to design, write, debug, and run programs encoded in the JavaScript language, and to understand the basic concepts of software development technology.

The course focuses on the JavaScript language core concepts, including the essentials of the JavaScript syntax and semantics, best programming practices, JS tools and resources, and coding concepts such as variables, data types, type casting, operators, user interaction, control flow, functions, errors, exceptions, debugging, and troubleshooting.

The course will prepare you for jobs and careers connected with widely understood software and web development, which includes not only creating the code itself as a junior developer, but also web design, front-end development, and application testing.


You will learn:
  • Learn the universal concepts of computer programming
  • Learn the syntax and semantics of the JavaScript language
  • Practice skills in resolving typical implementation challenges
  • Design, develop, and debug JS scripts
  • Algorithmic and analytical thinking
  • Best practices in programming

ENROLL FOR FREE


Course Syllabus:

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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;
  • Measuring code execution time.


Certification:

JSE − Certified JavaScript Entry-Level Programmer certification shows that you are familiar with universal computer programming concepts like data types, containers, functions, conditions, and loops, as well as JavaScript programming language syntax, semantics, and the runtime environment.

Becoming JSE certified ensures that you are acquainted with the most essential means provided by JavaScript, which enable you to start your own studies at an intermediate level and to continue your professional development.

JSE certification allows you to demonstrate that not only are you up to date with JavaScript-related issues, but also that you can competently deal with them.

Furthermore, with the OpenEDG JScript Institute, you gain access to a large network of JavaScript programming professionals, a valuable resource for solving JavaScript-related problems, and for developing innovative solutions.

Get your foot in the door with the JSE − Certified JavaScript Entry-Level Programmer certification. Land an entry-level programming job, break into the field, and gain the necessary skills, knowledge, and experience to advance your career.

More Information: JSE – Certified JavaScript Entry-Level Programmer




Channel: Edube Interactive


Sponsor: OpenEDG JS Institute


Mode: Online self-study course


Level: Beginner


Cost: Free


Study Time: 40 hours


Language: English/Spanish


Associated Certification: JSE – Certified JavaScript Entry-Level Programmer (Exam JSE-40-0x)



Buy Exam Voucher

Share this course:
   


Associated courses:

JavaScript Essentials 2 (Intermediate)


Pre-requisites:

None





JavaScript Essentials 2 (JSE2)

This course is the second in a 2-course series, and it will prepare you for the JSA – Certified Associate JavaScript Programmer certification exam.

This course gives you the opportunity to dive deeper into JavaScript programming and learn how to analyze and model real-world problems in terms of object-oriented programming, and to learn more advanced techniques using functions, including but not limited to elements of asynchronous programming.

This course picks up where JavaScript Essentials 1 leaves off, with the primary goal of developing your skills related to the more advanced aspects of JavaScript programming, such as:

  • mastering general coding techniques and learning the basics of object-oriented programming (OOP) using class-based and classless approaches;
  • working with a selected set of built-in objects, providing additional programming functionality;
  • use of complex data structures such as Map or Set;
  • advanced use of functions including generators, iterators, closures and IIEE;
  • elements of asynchronous programming using both classic callback functions and promises.

The course will prepare you for entry-level jobs and careers connected with widely understood development, which includes junior front-end development positions associated with building and designing simple programs, junior back-end development positions associated with building and designing simple back-end programs, and junior tester positions associated with unit and integration tests.


You will learn:
  • Design, develop, debug, execute, and refactor computer programs written in JavaScript
  • Object-Oriented Programming (OOP)
  • Analyze and model real-life problems, and solve them using the procedural and OOP approaches
  • Solutions Architecture
  • Algorithmic and analytical thinking
  • Best practices in programming
  • Create, develop, and improve your own programming portfolio to increase your value in the job market

ENROLL FOR FREE


Course Syllabus:

  • Creating individual objects (basic way to create object using literals)
  • Object properties (adding, modifying and deleting properties, nested properties)
  • Dot notation vs. bracket notation (dot notation as the primary way to refer to object fields, use of bracket notation to allow the use of multi-word and computed keys)
  • Property existence test and property enumeration (test for the presence of a field in an object, using the for ... in to pass the keys of an object, the Object.key method as an alternative to for ... in)
  • Comparing objects (the idea of object references, reference comparison vs. field comparison - deep comparison)
  • Coping objects (coping references, cloning, merging - Object.assign method; spread operator and shallow cloning, deep cloning concept)
  • Methods (function as an object property, define methods in the object body and add methods to existing objects, using this keyword inside of methods)
  • Getters and setters (methods treated as properties - defining and using getters and setters)
  • Property and object configuration (modifying attributes of objects and fields; using methods Object.defineProperty, Object.preventExtensions, Object.seal and Object.freeze)
  • Different ways to create classless objects (factories, constructor function and new operator, Object.create method)
  • Prototypes (prototype-based inheritance, object property __proto__, constructor function prototype property, use of setPrototypeOf method)

  • Class declaration (normal class declaration - keyword class; class body - constructor, properties, methods; class as first-class citizen - storing classes in variables and class expression)
  • Creating objects from a class (creation of an object based on a class; looking for a connection between an object and a source class - instanceof operator)
  • Properties (properties definition inside of class methods - constructor and regular methods; direct declaration inside of the class body)
  • Getters and setters (defining and using getters and setters)
  • Inheritance (class inheritance - extends keyword; shadowing methods and properties; using the super keyword in the constructor and in methods)
  • Static members (the concept of static members; methods and properties associated with a class instead of an object - defining and using)
  • Classes vs constructors (similarity of classes to constructors; conversion of a class into an adequate constructor function and vice versa)

  • Number constructor (number constructor - creating Number objects from data of different types, including various string formats; converting numbers into different string formats; static properties and methods of the Number constructor, i.e. properties defining the basic ranges)
  • String constructor (String constructor; string as an array of characters; case conversion methods; splitting the string; searching for and replacing substrings; padding and trimming; comparison of strings)
  • Date constructor (creating Date object - constructor; time zones and local time handling; getting current time; timestamp and using it to measure the time of code execution; time specification; operating on individual date and time components)
  • Array – basics (basic methods for managing an Array type collection - creating, merging, adding and removing items, passing through, slice method, splice method; use of spread operator; destructuring assignment)
  • Array – advanced methods (the functional approach: find, every, some, filter, sort, map and reduce)
  • Set type collection (concept of set data structure and Set object; basic methods and properties of Set objects - constructor, add, has, delete, clear, size; walking through elements - for ... of, iterators; spread operator)
  • Map type collection (concept of map data structure and Map object; basic methods and properties of Map objects - constructor, set, get, has, delete, clear, size; walking through elements - for ... of, iterators; spread operator)
  • Object as a data structure (using the object as a regular dictionary-type data structure; items management, walking through, spread operator)
  • Using the JSON object (basic concept of JSON /JavaScript Object Notation/ format; converting data to JSON - JSON.stringify method; parsing JSON format and obtaining data back - JSON.parse method)
  • Using the Math object (basic methods: ceil, floor, round, random, min, max, abs, pow, log, trigonometric functions)
  • Using the RegExp object (basic rules for creating regular expressions; abbreviated notation of a RegExp object declaration; using methods of RegExp and String objects for efficient searching of patterns in text: test, exec, match, search, replace)
  • Extending built-in types (using prototypes to extend built-in types - adding new properties and methods)

  • Extended function parameters handling (usage of default parameter values, rest parameter and spread operator; simulating named parameters)
  • Closure and IIFE (the use of closure - execution environment of the function; Immediately Invoked Function Expression - IIFE)
  • Forwarding calls (this keyword and functions; apply, call and bind methods that allow to call functions with the indicated context)
  • Decorating functions (functions as first-class citizens; passing functions as arguments and returning as results, higher order functions; decorating functions as adding new functionality using a wrapper function)
  • Generators and iterators (creating and using generators; the idea of iterable objects; generators as an element of iterable objects, iterators)
  • Handling asynchronous events using callback functions (concept of asynchronous programming; use of callback functions to handle asynchronous events)


Certification:

JSA – Certified Associate JavaScript Programmer certification is a professional credential that demonstrates the candidate’s proficiency in Object-Oriented Analysis, Design and Programming (OOA/OOD/OOP), as well as the more advanced use of functions in the JavaScript language.

Becoming JSA certified ensures that the individual is acquainted with the essential means provided by the JavaScript language to enable them to design, develop, deploy, refactor, and maintain JavaScript programs and applications; analyze and model real-life problems in Object-Oriented Programming categories; create and develop their own programming portfolio; and start their own studies at a professional level, and to continue their further professional development.

JSA certification allows you to demonstrate that not only are you up to date with JavaScript-related issues, but also that you can competently deal with them.

Furthermore, with the OpenEDG JS Institute, you gain access to a large network of JavaScript programming professionals, a valuable resource for solving JavaScript-related problems, and for developing innovative solutions.

More Information: JSA – Certified Associate JavaScript Programmer




Channel: Edube Interactive


Sponsor: OpenEDG JS Institute


Mode: Online self-study course


Level: Intermediate


Cost: Free


Study Time: 50 hours


Language: English


Associated Certification: JSA – Certified Associate JavaScript Programmer (Exam JSA-41-0x)



Buy Exam Voucher

Share this course:
   


Associated courses:

JavaScript Essentials 1 (Beginner)


Pre-requisites:

None