Think Like a Developer
Let's relearn the basics of programming with the world's most popular language, JavaScript.Footnote 1
Skip to lessonsBeyond 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
- write and read JavaScript code confidently
- analyze and solve programming problems
- document, test, and debug simple programs
- work with the command line
- use some common data structures and algorithms
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
- Introduction
- Values and types
- Collections
- Making decisions
- Logical operators
- Bindings again
- Reusing functionality (draft)
Upcoming
- Reusing functionality
- Testing
- Debugging
- The developer experience
- Working in the terminal
- Modules
- Iteration
- The functional side of arrays
- Matching string patterns
- Stacks
- Observable stacks
- Sets and maps
- Trees
- Asynchronous I/O
- JavaScript quirks