Think Like a Developer

Let's relearn the basics of programming with the world's most popular language, JavaScript.Footnote 1

Skip to lessons

Beyond the language basics

We'll learn the oft-taught things in programming — variables, functions, loops, and what have you — but we won't stop there.

As developers, we also have to test our code, catch bugs, write documentation, and do a bunch of other stuff to maintain our code.

We'll learn how to do these too, and we'll use some tools that make the process fun 😉.

Here's what to expect

At the end of the course, you should be able to

Then there's what not to expect

We won't focus on features that are specific to JavaScript environments like the web. Instead, we'll cover general topics that also apply to other programming languages.

Our format and schedule

Each lesson includes a prerecorded lecture, a slide deck, some practice exercises (that you should really attempt 👀), and a supplementary article. You can play the slide decks interactively on this site or download them as PDF files.

Every Sunday, we'll meet on Zoom to review a lesson and do a Q&A. Make sure you study the material before the meeting so we can have a lively discussion 🙂.

The lessons

  1. Introduction
  2. Values and types
  3. Collections
  4. Making decisions
  5. Logical operators
  6. Bindings again
  7. Reusing functionality (draft)

Upcoming

  1. Reusing functionality
  2. Testing
  3. Debugging
  4. The developer experience
  5. Working in the terminal
  6. Modules
  7. Iteration
  8. The functional side of arrays
  9. Matching string patterns
  10. Stacks
  11. Observable stacks
  12. Sets and maps
  13. Trees
  14. Asynchronous I/O
  15. JavaScript quirks