Learn the basics of functional programming in javascript. You'll take a small, mostly imperative website and refactor it using practical declarative and functional concepts. You'll learn about pure functions, side-effects and declarative style while building a small functional utility library.

The project will demonstrate how Underscore or Lodash functions like filter, map, and reduce really work. Focused on practical understanding over philosophy, this is a great basic intro to functional programming that will prepare you for deeper exploration.