Javascript & Typescript

Learn core Javascript programming. Eventually graduate to stronger typing using Typescript.

19 topics

40 hours



typescript code along screenshot

The course

We start the journey by learning the various nuts & bolts of the javascript programming language. We then start with functions and give it a much needed separate treatment from the rest of the topics. We graduate to the world of functional programming & closures.

Along the way we learn about object orientation in javascript. We wrap up by playing with the various built in objects in javascript.

We start the same journey as above but in the typescript avatar!

We wrap up the course by learning to write unit tests using the jest testing framework.


Pre requisites : Exposure to any other programming language & lots of optimism!

The journey

  • Broad talk on the areas where Javascript is used currently – Specially nodejs
  • How is nodejs different from other server development technologies
  • Installation of nodejs. Setting up the development environment on the VS Code editor for a simple nodejs javascript application
  • Talk on ES6
  • Creating variable using var, let, const
  • Variable scoping
  • Simple basic data types: string, number, boolean
  • Arithmetic, relational & logical operators
  • if, if-else, if-else if-else selection statements for branching
  • The switch statement for branching
  • Looping using  while and for statements
  • break & continue statements
  • Defining and calling functions in javascript
  • Default arguments in a function
  • Functions with variable number of arguments
  • Fat arrow functions in ES6
  • Introduction to functional programming
  • Functions as objects in javascript
  • Returning a function from another function, passing a function to another function, closures
  • Higher order & lower order functions
  • Using the built in higher order functions defined in javascript
  • Building custom higher order functions in javascript
  • Introduction to OOP
  • Objects in javascript
  • ES6 classes
  • Getters & setters
  • Constructors
  • Static methods
  • Inheritance
  • Exporting ES6 modules
  • Default export
  • Importing ES6 modules
  • Using module.exports & require syntax
  • Immutability of the string object
  • Tour of the various built in functions defined in the string api
  • Array as a data structure in javascript
  • Different ways of creating arrays
  • Tour of the various built in functions defined in the array api
  • Functional programming functions – filter, map, reduce
  • Program flow in the event of an exception thrown
  • Exception handling using try-catch
  • Defining custom exceptions and throwing them
  • The finally block
  • window
  • location
  • navigator
  • history
  • Introduction to the Document Object Model (DOM)
  • Introducing the Dayjs library
  • Including this library in a Javascript project
  • Parsing dates
  • Setting & getting dates
  • Displaying date in a particular format
  • Time zones
  • Introduction & purpose of typescript in Javascript world!
  • Installation of typescript
  • Running a typescript file
  • Declare variables in typescript using the type annotation
  • Primitive data types
  • The any type
  • The union type
  • Declaring type of function parameters
  • Declaring return type of a function
  • Function call signatures
  • Generic functions
  • Optional parameters
  • Function overloading in typescript
  • this in functions
  • unknown & never types in typescript
  • Rest parameters & arguments
  • Function parameters destructuring
  • Optional properties in an object
  • Readonly
  • Extending object types
  • Intersection of types
  • Generic object type
  • Array type
  • Tuple type
  • Declaring Fields in typescript class
  • Readonly fields
  • Constructors
  • Methods in a class
  • Getters & setters
  • extending & implementing from classes
  • Method overriding
  • Visibility of members of a class
  • Static members
  • Generic classes
  • Abstract classes & members
  • Advantages of modularising code
  • Export members of a module in typescript
  • Import members from a module in typescript
  • Introducing the Jest testing framework
  • Including the framework in existing javascript / typescript project
  • Writing unit tests

The skills



Unit tests

Integration tests

Functional programming


The projects

Project 1Tic Tac Toe

As part of the capstone project, build a browser based tic-tac-toe game using javascript & typescript

Contact us+91 98336 99504

Request more information