Fundamentals of JavaScript for Programmers


This course is an Introduction to JavaScript for those who have already programmed in another language. Since familiarity with another language is assumed, this course will focus more on the specifics of the JavaScript language than on programming in general. This course covers the following:

  • Language grammar, syntax and data types
  • Functions and higher-order functions
  • Arrays and Objects as data structures
  • Core built-in methods
  • Writing idiomatic and stylistic code

Even though the course is not problem-solving focused, it comes with a rich set of practice problems to help you solidify your understanding of new JavaScript constructs.


Front-end Development

Detailed Syllabus

JavaScript Basics

  • JavaScript Versions
  • Resources
  • Running Your Code
  • Code Style
  • Data Types
  • Strings
  • Primitive Values
  • Variables
  • Operators
  • Expressions and Statements
  • Exercises: Variables and Numbers
  • Type Coercions
  • Conditionals
  • Input and Output
  • Looping and Iteration

Functions and Variable Scope

  • Defining Functions
  • Function Invocations and Arguments
  • Exercises: Functions
  • Nested Functions
  • Function Scopes and Lexical Scoping
  • Hoisting
  • Function Declarations and Function Expressions
  • Exercises: Variable Scopes in JavaScript (1)
  • Exercises: Variable Scopes in JavaScript (2)

Exercises: Logics and Procedural Thinking

  • Chrome Developer Tools
  • Odd Numbers
  • Multiples of 3 and 5
  • Print Multiples
  • FizzBuzz
  • Prime Check
  • XOR
  • Guessing the Password
  • Student Grade
  • Greatest Common Divisor
  • Goldbach Numbers
  • Pattern Generation
  • Index of Substring
  • Trimming Empty Spaces
  • Splitting a String
  • Repeating Strings
  • String StartsWith
  • Converting Strings to Lower Case
  • Substring (1)
  • Substring (2)


  • Arrays
  • Exercises: Arrays
  • Array Operations: push, pop, shift, and unshift
  • Array Operations: indexOf and lastIndexOf
  • Array Operations: slice, splice, concat, and join
  • Array Methods
  • Arrays and Operators
  • Exercise: Comparing Arrays
  • Exercises: Basic Array Uses
  • Exercises: Intermediate Array Uses
  • Exercise: Find Missing Numbers


  • Introduction to Objects
  • Object Properties
  • Stepping through Object Properties
  • Exercises: Working with Object Properties
  • Arrays and Objects
  • Mutability of Values and Objects
  • Pure Functions and Side Effects
  • Working with the Math Object
  • Working with Dates
  • Working with the Function Argument Object
  • Exercise: Welcome Stranger
  • Exercise: Repeated Characters

Writing Better Code

  • The History and Evolution of the JavaScript Language
  • JavaScript the Good Parts
  • JavaScript Style Guide