Mateusz Kwaśniewski

Deeper.js - Advanced JavaScript 🇵🇱 🇬🇧 3 days

Why this course?

“Maybe switching to [insert new JS framework] will compensate for my lack of actual JavaScript knowledge” - front-end developers in 2015.

— I Am Devloper (@iamdevloper) June 14, 2015

ProTip™: Trying a different framework *still* won’t help you learn JavaScript properly.

— I Am Devloper (@iamdevloper) March 17, 2015

Who is this course for?

You're a JS practitioner who wants to use JS proficiently.

Learning outcomes

Training method

We do TDD (Test-Driven Development) of the most interesting language features and idioms. In addition to that we build conceptual models, run performance benchmarks and have group discussion in a safe environment.

Tens of carefully designed exercises will prepare you to write not only simple web applications, but also library code that can be used by others.

Main assumption: to better understand things, implement it yourself.

NOT list

This course is NOT a:

Module 1 - Types

Main Theme: why most advice on type coercion is too simplistic

Module 2 - OO in JS

Main theme: why classical OO in JS is overly complicated

Module 3 - Functions and scope

Main theme: we fully utilize everything functions can give us

Module 4 - Functional Programming I

Main theme: we start using pragmatic FP toolkit to make our code simpler and more reusable. PhD in maths not required.

Module 5 - Asynchronous JS

Main theme: we learn to choose among various async options available in core JS

Module 6 - Modularity

Main theme: modern JS environments don't need modularity hacks anymore

Module 7 - Functional programming II

Main theme: fun exercises for the FP fans, pushing boundaries of what’s possible in JS

Module 8 - Metaprogramming

Main theme: enhancing language capabilities with advanced language mechanisms