Functional Programming Beginner

9 lessons|69 exercises|Free

Many factors indicate that Functional Programming is going to be the next mainstream paradigm. Multi-core revolution changes the way we approach software. Code complexity and quality requirements are growing in parallel. As it's getting more and more obvious that OOP didn't live up to its promises, the industry starts to consider alternatives. As a time-proven and mathematically sound way of programming, FP looks like the best candidate.



We do not provide theoretical content yet. If it's your first experience with Paqmind, please take a look at our How-to page to get yourself familiar with the approach.

The course aims at absolute beginners in Functional Programming. It provides 69 exercises and a lot of theory insights in comments to them.

Before you start

It's recommended to pass the Programming Beginner course before you start this one, but it's not necessary.


  1. RamdaJS (docs)
  2. Thinking in Ramda (articles)
  3. Hindley-Milner type syntax (chapter)
  4. One of


  1. Shell / Terminal. Windows 10 has bash shell.
  2. NodeJS 7.6+
  3. Editor (Atom, VSCode, Webstorm...)

Common code

let R = require("ramda")
let A = require("assert")


1. Intro

11 exercises

ArityClosureCurryingHigher-order functionHindley-Milner syntaxImmutabilityLambdaPartial applicationScoping

2. Map

11 exercises

3. Filter

8 exercises

4. Chain

9 exercises

5. Reduce

12 exercises

6. Sort

8 exercises

7. Zip

3 exercises

8. Composition

3 exercises

9. Playground

4 exercises