Chapter 1: Functional Programming In Simple Terms Chapter Introduce to the reader the functional programming concepts in simple terms. The chapter will consist of theory and few executable JavaScript code both in imperative terms and functional terms, thus showcasing the advantages of functional programming over imperative. No of pages : 25 Sub -Topics 1. What is functional programming? Why it matters? 2. Functional programming thought process and its advantages. 3. Talking about side effects 4. Functions in Math and in programming 5. Immutability leads to parallel code 6. Testable 7. Easy to reason about your code. 8. Lets understand functions in JavaScript 9. What we are going to build in this book? Chapter 2: Fundamentals of JavaScript functions Chapter This chapter is a refresher on JavaScript functions. What they are and how they can be written in ES7/ES8 No of pages : 20 Sub - Topics 1. JavaScript Functions 2. Functions vs Methods in JavaScript 3. Functions old way and ES6 way 4. Anonymous functions or arrow functions 5. Deep Dive. Functions Prototype. Chapter 3: Higher Order Functions Chapter In this chapter we are going give a different thought process on how functions are treated as data in JavaScript world. We will be covering what is data and how function as data allows several things possible in JavaScript. No of pages : 20 Sub - 1. Data in JavaScript 2. Functions as Data in JavaScript 3. Higher order functions 3. Our first functional approach to "loop" problem Chapter 4: Closures Chapter This chapter going to teach you the fundamentals of closures and how closures help to build higher order functions. No of pages : 30 Sub - 1. Understanding closures. 2. How closures help in higher order functions 3. Create functional libraries using the above approaches learned. 4. Example problem and using the libraries that we created to show how functional programming helps them. Chapter 5: Being Functional On Arrays Chapter This chapter introduces set of APIs' that one can use on top of Arrays. No of 20 Sub - 1. Arrays in JavaScript 2. How to access arrays, delete, loop them etc 3. Create functional libraries using the above approaches learned. 4. Example problem and using the libraries that we created to show how functional programming helps them. Chapter 6: Currying and Partial Application Chapter In this chapter we are going to see how and what is partial and currying is all about. No of pages : 20 Sub - 1. What is composition? 2. Unix philosophy - build small things well and good 3. Creating composing function 4. Currying leads to Composition. 5. Pipelines 6. Showing examples of how to use composition 7. Category theory Chapter 7: Composition and Pipeline&nb