JavaScript Programming Language Training Course | Code College

JavaScript Programming Language Training Course

Learn the fundamentals of the modern JavaScript Programming Language, and how to apply it practically


  • 5 Days Full-time

What do I need?

  • Webinar : A laptop, and a stable internet connection. The recommended minimum speed is around 10 Mbps.
  • Classroom Training : A laptop, please notify us if you are not bringing your own laptop. Please see the calendar below for the schedule


  • Attendance : If you have attended 80% of the sessions and completed all the class work, you qualify for the Attendance Certificate. (Course Price : R14 500)
  • Competency : Only offered as part of a Coding Bootcamp
  • You may apply for credits in NQF level 5 but these are to be ordered seperately at additional cost



  • In-Person (Woodmead Classroom)
  • Remote (Discord Webinar)

Who will benefit

  • Junior programmers need to learn JavaScript to be able to proceed into JavaScript Frameworks like React, Angular, etc.
  • Back-End Programmers that want to learn front-end technologies need JavaScript to be able to proceed into JavaScript Frameworks like React, Angular, etc.

What you will learn

  • How to work hands-on with a variety of storage mechanisms, including linked lists,stacks, queues and graphs, within the constraints of the JavaScript Environment
  • You will learn to determine which data structures and algorithms are most appropriate for the problems you're trying to solve
  • You will understand the tradeoffs when using them in a JavaScript program
  • This course constitutes the core subject portion of the corresponding module in the Web Developer Bootcamp


Day 1

Getting Started with JavaScript

Setting up your environment

  • Integrated Development Environment
  • Web Browser
  • Extra Tools
  • Online editor

How does the browser understand JavaScript

Using the browser console

Adding JavaScript to a web page

  • Directly in HTML
  • Linking an external file to our web page

Writing JavaScript code

  • Formatting code
    • Indentations and whitespace
    • Semicolons
  • Code comments
  • Prompt
  • Random numbers
  • Java Script Essentials


    Declaring variables
    • let, var and const
    • Naming variables

    Primitive data types

  • String
    • Escape Characters
  • Number
  • Biglnt
  • Boolean
  • Symbol
  • Undefined
  • null
  • Analyzing and modifying data types

  • Working out the type of a variable
  • Converting data types
  • Operators

    Arithmetic operators
    • Addition
    • Subtraction
    • Multiplication
    • Division
    • Exponentiation
    • Modulus
    • Unary operators: increment and decrement
    • Combining the operators

    Assignment Operators

    Comparison operators

    • Equal
    • Not equal
    • Greater than and smaller than

    Logical operators

    • And
    • Or
    • Not

    JavaScript Multiple Values

    Arrays and their properties

    • Creating arrays
    • Accessing elements
    • Overwriting elements
    • Built-in length property

    Array methods

    • Adding and replacing elemets
    • Deleting elements
    • Finding elements
    • Sorting
    • Reversing

    Multidimensional arrays

    Objects in JavaScript

    • Updating Objects

    Working with objects and arrays

    • Objects in objects
    • Arrays in objects
    • Objects in arrays
    • Objects in arrays in objects
    • manipulating an array
    • Company product catalog

    Day 2

    Logic Statements

    • if and if else statements
    • else if statements
    • Conditional ternary operators
    • Switch statements
    • Evaluating a number game
    • Friend checker game
    • Rock paper Scissors game


    • while loops
    • do while loops
    • for loops
    • Nested loops
    • Loops and arrays
    • Loops and objects
    • break abd continue


    Basic Functions
    • Invoking Functions
    • Writing Functions
    • Naming Functions
    Parameters and arguments
    • Default or unsuitable parameters
    Special functions and operators
    • Arrow functions
    • Spread operator
    • Rest parameter
    Returning function values
    • Returning with arrow functions
    Variable scope in functions
    • Local variable in functions
    • Global variables
    • Immediately invoked function expression
      Recursive functions
      Nested functions
      Anonymous functions

    Day 3


    • Object-orientated programming
    • Classes and objects
    • Classes
    • Inheritance
    • Prototypes

    Built-In javaScript Methods

    • Introduction to built-in JavaScript methods
    • Global methods
    • Array methods
      • Performing a certain action for every item
      • Filtering an array
      • Checking a condition for all elements
      • Replacing part of an array with another part of the array
      • Mapping the values of an array
      • Finding the last occurence in an array
    • String methods
      • Combining strings
      • Convereting a string to an array
      • Converting an array to a string
      • Working with index and positions
      • Creating substrings
      • Replacing parts of the string
      • Uppercase and lowercase
      • The start and end of a string
    • Number methods
      • Checking if something is (not) a number
      • Checking if something is finite
      • Checking if something is an integer
      • Specifying a number of decimals
      • Specifying precisiion
    • Math methods
      • Finding the highest and lowest number
      • Square root and raising to the power of
      • Turning decimals into integers
      • Exponent and logarithm
    • Date methods
      • Creating dates
      • Methods to get and set the elements of a date
      • Parsing dates
      • Converting a date to a string
      • The Document Object Model

      • HTML crash course
        • HTML elements
        • HTML attributes
      • The BOM
        • Window history object
        • Window navigator object
        • window location object
      • The DOM
        • Additional DOM properties
        • Selecting page elements

    Day 4

    Dynamic Element Manipulation using the DOM

  • Basic DOM traversing
    • Selecting elements as objects
  • Assessing elements in the DOM
  • Element click handler
  • This and the DOM
  • Manipulating element style
  • Changing the classes of an element
    • Adding classes to elements
    • Removing classes from elements
    • Toggling classes
  • Manipulating attributes
  • Event listeners on elements
  • Creating new elements
  • Interactive Content and Event Listeners

  • Introducing interactive content
  • Specifying events
    • Specifying events with HTML
    • Specifying events with JavaScript
    • Specifying events with event listeners
  • The Onload event handler
  • Mouse event handlers
  • The event target property
  • DOM event flow
  • onchange and onblur
  • Key event handler
  • Drag and drop elements
  • Form submission
  • animating elements
  • Intermediate JavaScript

  • Regular expressions
    • Specifying multiple options for words
    • Character options
    • Groups
    • Practical regex
  • Functions and the arguments objects
  • JavaScript hoisting
  • Using strict mode
  • Debugging
  • Using cookies
  • Local storage
  • JSON
  • Day 5


  • Introducing concurrency
  • Callbacks
  • Promises
  • async and await
  • Event loop
  • HTML5, Canvas and JavaScrpt

  • Intrducing HTML5 with JavaScript
  • Local the reader
    • Uploading files
    • Reading files
  • Getting position data with GeoLocation
  • HTML Canvas
  • Dynamic canvas
    • Drawing on canvas with a mouse
    • Saving dynamic images
    • Media on the page
    • Digital accessability in HTML

    Next Steps

  • Libraries and frameworks
  • Learning the backend
    • API's
    • AJAX
    • Node.js