Programming Foundations with JavaScript: Basics


In this course, we'll increase the level of complexity from the Programming Prep course and work on more meaningful exercises. We'll use a static code analyzer and learn to systematically approach a problem using pseudo-code. As we go through these programs, we'll point out important learning concepts like variable scope in methods, blocks, and the main program. After this course, you should have a good grasp of how to write simple programs and think in an imperative, step-by-step, logical fashion. You will also learn to do some basic debugging and trap tricky bugs, and learn to develop a temperament for debugging.

Major Topics

  • Using Node.js
  • JavaScript language and syntax
  • When to use certain data types
  • Using Pseudo-code and Flowcharts for problem decomposition and analysis
  • Use a static code analyzer
  • Learn to debug small programs
  • Understand scope
  • Understand function arguments


Programming and Back-end Development


Detailed Syllabus

Start with Small Programs

  • JavaScript style
  • Build a calculator
  • Think with pseudo-code
  • Use flow charts to map out logical sequence
  • Use ESLint to enforce styles
  • Refactoring our calculator program
  • Debugging
  • Extra features for the calculator program
  • How to write better code
  • Reference vs value
  • Build a Rock-Paper-Scissors game
  • RPS game bonus features


  • Exercise set: Easy 1
  • Exercise set: Easy 2
  • Exercise set: Easy 3
  • Exercise set: Medium 1
  • Exercise set: Hard 1