Learn to Write Functional Javascript

Course

Online

£ 150 VAT inc.

Description

  • Type

    Course

  • Methodology

    Online

  • Start date

    Different dates available

Learn the concepts required to be a functional programmer and to write functional web-apps using modern JavaScript.Functional programming has been around for decades, but it only overtook the JavaScript community in recent years. The impact is undeniable and yet with all the material available it still isn’t always easy to grok.This course delivers the building blocks of the functional paradigm in a way that makes sense to JavaScript developers. Animated visualizations help explain difficult concepts such as higher-order functions, lenses and persistent data, partial application and currying and then write code so you understand concepts before trying to apply the knowledge them.Many functional programming videos leave students feeling as if they just learned something that can’t quite be useful, but in Foundations of Functional Programming you’ll build stateless UI components and implement your own higher-order functions that integrate them with JSX and virtual-dom using no frameworks, just functional programming and modern JavaScript.About the AuthorMichael Rosata has been a professional Javascript Developer for 4 years now, he started building web pages.
He started building web pages, widges and then Web Apps. He has worked on a couple of large webapps using Javascript as well as Apache cordova. He loves the javascript ecosystem and the web community and adopted Functional Programming as his passion. He is the founder of MA Web Dev Meetup group and they are currently building a web app for non profits. Also, connect him on his blog onethingsimple.com.

Facilities

Location

Start date

Online

Start date

Different dates availableEnrolment now open

About this course

Understand pure functions and how to refactor impure functions
Learn why grouping pure functions can simplify an apps mental model
See how impurities break that modal and how to isolate them
Create reusable functions by writing higher-order functions
Write more declarative and expressive code without loops
Master map, filter and reduce, three very powerful functional utilities
Create your own higher-order functions to replace native JS Array methods
Learn about partial application and create your own curry implementation
Learn about immutability, persistent data structures and their pros and cons
Work with nested immutable data with lenses using Ramda
Write pure functions to model the DOM and then drop JSX on top of it
Replace our DOM Rendering function with virtual-dom
Build JSX & Virtual-DOM into functional ES2017 apps without using React

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

This centre's achievements

2021

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 4 years

Subjects

  • Returns
  • Benefits
  • Javascript training
  • Javascript
  • Web
  • Writing
  • Programming
  • Programming Application
  • Information Systems
  • Information Systems management

Course programme

Understanding Foundations of Functional Programming 4 lectures 49:29 The Course Overview This video provides an overview of the entire course The Unbreakable Function JavaScript has traditionally been taught by the "Imperative or Procedural Programming" paradigms where functions ("procedures") perform tasks and modify a shared state. This can cause unpredictable behavior and hard to track bugs, especially as programs grow. Pure functions alleviate many problems of traditional programming paradigms and form the foundations of Functional Programming.
  • A pure function does not change values outside of itself
  • Given the same inputs, a pure function returns the same output
Thinking of Functions in Terms of Their Return Values Pure functions, like mathematical functions, always return the same value when given the same inputs, so the two are interchangeable. Functional Programming is expressive, we think less about what's happening inside functions and focus more on relations between function inputs and their outputs.
  • Pure functions have a unique mappings from input to output
  • Running pure functions inline is representative of a unique value
  • Pure functions calling other pure functions won't complicate our mental model
How to Identify and Encapsulate Impurities within Our Programs Every program has impure functions; they are the only ticket in town for reading, writing and displaying information. In order to protect the benefits, we've gained by writing pure functions; we'll begin looking at how we can isolate impure code while still using it to feed us information.
  • Identify which parts of our program is pure and which are impure
  • Pure functions can return impure functions without breaking referential transparency
  • We can defer impure operations and pass results into pure functions as dependencies
Understanding Foundations of Functional Programming 4 lectures 49:29 The Course Overview This video provides an overview of the entire course The Unbreakable Function JavaScript has traditionally been taught by the "Imperative or Procedural Programming" paradigms where functions ("procedures") perform tasks and modify a shared state. This can cause unpredictable behavior and hard to track bugs, especially as programs grow. Pure functions alleviate many problems of traditional programming paradigms and form the foundations of Functional Programming.
  • A pure function does not change values outside of itself
  • Given the same inputs, a pure function returns the same output
Thinking of Functions in Terms of Their Return Values Pure functions, like mathematical functions, always return the same value when given the same inputs, so the two are interchangeable. Functional Programming is expressive, we think less about what's happening inside functions and focus more on relations between function inputs and their outputs.
  • Pure functions have a unique mappings from input to output
  • Running pure functions inline is representative of a unique value
  • Pure functions calling other pure functions won't complicate our mental model
How to Identify and Encapsulate Impurities within Our Programs Every program has impure functions; they are the only ticket in town for reading, writing and displaying information. In order to protect the benefits, we've gained by writing pure functions; we'll begin looking at how we can isolate impure code while still using it to feed us information.
  • Identify which parts of our program is pure and which are impure
  • Pure functions can return impure functions without breaking referential transparency
  • We can defer impure operations and pass results into pure functions as dependencies
The Course Overview This video provides an overview of the entire course The Course Overview This video provides an overview of the entire course The Course Overview This video provides an overview of the entire course The Course Overview This video provides an overview of the entire course This video provides an overview of the entire course This video provides an overview of the entire course The Unbreakable Function JavaScript has traditionally been taught by the "Imperative or Procedural Programming" paradigms where functions ("procedures") perform tasks and modify a shared state. This can cause unpredictable behavior and hard to track bugs, especially as programs grow. Pure functions alleviate many problems of traditional programming paradigms and form the foundations of Functional Programming.
  • A pure function does not change values outside of itself
  • Given the same inputs, a pure function returns the same output
The Unbreakable Function JavaScript has traditionally been taught by the "Imperative or Procedural Programming" paradigms where functions ("procedures") perform tasks and modify a shared state. This can cause unpredictable behavior and hard to track bugs, especially as programs grow. Pure functions alleviate many problems of traditional programming paradigms and form the foundations of Functional Programming.
  • A pure function does not change values outside of itself
  • Given the same inputs, a pure function returns the same output
The Unbreakable Function JavaScript has traditionally been taught by the "Imperative or Procedural Programming" paradigms where functions ("procedures") perform tasks and modify a shared state. This can cause unpredictable behavior and hard to track bugs, especially as programs grow. Pure functions alleviate many problems of traditional programming paradigms and form the foundations of Functional Programming.
  • A pure function does not change values outside of itself
  • Given the same inputs, a pure function returns the same output
The Unbreakable Function JavaScript has traditionally been taught by the "Imperative or Procedural Programming" paradigms where functions ("procedures") perform tasks and modify a shared state. This can cause unpredictable behavior and hard to track bugs, especially as programs grow. Pure functions alleviate many problems of traditional programming paradigms and form the foundations of Functional Programming.
  • A pure function does not change values outside of itself
  • Given the same inputs, a pure function returns the same output
JavaScript has traditionally been taught by the "Imperative or Procedural Programming" paradigms where functions ("procedures") perform tasks and modify a shared state. This can cause unpredictable behavior and hard to track bugs, especially as programs grow. Pure functions alleviate many problems of traditional programming paradigms and form the foundations of Functional Programming.
  • A pure function does not change values outside of itself
  • Given the same inputs, a pure function returns the same output
JavaScript has traditionally been taught by the "Imperative or Procedural Programming" paradigms where functions ("procedures") perform tasks and modify a shared state. This can cause unpredictable behavior and hard to track bugs, especially as programs grow. Pure functions alleviate many problems of traditional programming paradigms and form the foundations of Functional Programming.
  • A pure function does not change values outside of itself
  • Given the same inputs, a pure function returns the same output
Thinking of Functions in Terms of Their Return Values Pure functions, like mathematical functions, always return the same value when given the same inputs, so the two are interchangeable. Functional Programming is expressive, we think less about what's happening inside functions and focus more on relations between function inputs and their outputs.
  • Pure functions have a unique mappings from input to output
  • Running pure functions inline is representative of a unique value
  • Pure functions calling other pure functions won't complicate our mental model
Thinking of Functions in Terms of Their Return Values Pure functions, like mathematical functions, always return the same value when given the same inputs, so the two are interchangeable. Functional Programming is expressive, we think less about what's happening inside functions and focus more on relations between function inputs and their outputs.
  • Pure functions have a unique mappings from input to output
  • Running pure functions inline is representative of a unique value
  • Pure functions calling other pure functions won't complicate our mental model
Thinking of Functions in Terms of Their Return Values Pure functions, like mathematical functions, always return the same value when given the same inputs, so the two are interchangeable. Functional Programming is expressive, we think less about what's happening inside functions and focus more on relations between function inputs and their outputs.
  • Pure functions have a unique mappings from input to output
  • Running pure functions inline is representative of a unique value
  • Pure functions calling other pure functions won't complicate our mental model
Thinking of Functions in Terms of Their Return Values Pure functions, like mathematical functions, always return the same value when given the same inputs, so the two are interchangeable. Functional Programming is expressive, we think less about what's happening inside functions and focus more on relations between function inputs and their outputs.
  • Pure functions have a unique mappings from input to output
  • Running pure functions inline is representative of a unique value
  • Pure functions calling other pure functions won't complicate our mental model
Pure functions, like mathematical functions, always return the same value when given the same inputs, so the two are interchangeable. Functional Programming is expressive, we think less about what's happening inside functions and focus more on relations between function inputs and their outputs.
  • Pure functions have a unique mappings from input to output
  • Running pure functions inline is representative of a unique value
  • Pure functions calling other pure functions won't complicate our mental model
Pure functions, like mathematical functions, always return the same value when given the same inputs, so the two are interchangeable. Functional Programming is expressive, we think less about what's happening inside functions and focus more on relations between function inputs and their outputs.
  • Pure functions have a unique mappings from input to output
  • Running pure functions inline is representative of a unique value
  • Pure functions calling other pure functions won't complicate our mental model
How to Identify and Encapsulate Impurities within Our Programs Every program has impure functions; they are the only ticket in town for reading, writing and displaying information. In order to protect the benefits, we've gained by writing pure functions; we'll begin looking at how we can isolate impure code while still using it to feed us information.
  • Identify which parts of our program is pure and which are impure
  • Pure functions can return impure functions without breaking referential transparency
  • We can defer impure operations and pass results into pure functions as dependencies
How to Identify and Encapsulate Impurities within Our Programs Every program has impure functions; they are the only ticket in town for reading, writing and displaying information. In order to protect the benefits, we've gained by writing pure functions; we'll begin looking at how we can isolate impure code while still using it to feed us information.
  • Identify which parts of our program is pure and which are impure
  • Pure functions can return impure functions without breaking referential transparency
  • We can defer impure operations and pass results into pure functions as dependencies
How to Identify and Encapsulate Impurities within Our Programs Every program has impure functions; they are the only ticket in town for reading, writing and displaying information. In order to protect the benefits, we've gained by writing pure functions; we'll begin looking at how we can isolate impure code while still using it to feed us information.
  • Identify which parts of our program is pure and which are impure
  • Pure functions can return impure functions without breaking referential transparency
  • We can defer impure operations and pass results into pure functions as dependencies
How to Identify and Encapsulate Impurities within Our Programs Every program has impure functions; they are the only ticket in town for reading, writing and displaying information. In order to protect the benefits, we've gained by writing pure functions; we'll begin looking at how we can isolate impure code while still using it to feed us information.
  • Identify which parts of our program is pure and which are impure
  • Pure functions can return impure functions without breaking referential transparency
  • We can defer impure operations and pass results into pure functions as dependencies
Every program has impure functions; they are the only ticket in town for reading, writing and displaying information. In order to protect the benefits, we've gained by writing pure functions; we'll begin looking at how we can isolate impure code while still using it to feed us information.
  • Identify which parts of our program is pure and which are impure
  • Pure functions can return impure functions without breaking referential transparency
  • We can defer impure operations and pass results into pure functions as dependencies
Every program has impure functions; they are the only ticket in town for reading, writing and displaying information. In order to protect the benefits, we've gained by writing pure functions; we'll begin looking at how we can isolate impure code while still using it to feed us information.
  • Identify which parts of our program is pure and which are impure
  • Pure functions can return impure functions without breaking referential transparency
  • We can defer impure operations and pass results into pure functions as dependencies
Abstracting Language Constructs with Higher-Order Functions. 5 lectures 01:07:15 Promoting Reusability with Higher-Order Functions Pure functions seem to restrict what we’re able to do in our apps, higher-order functions open our eyes to new ways we can write and use functions. They give us powerful tools and reusable utilities.
  • Accepting functions as input creates flexible and generic utilities
  • Returning a function to create a reusable utility
  • Use higher-order functions to configure objects with lots of setup
Replacing Loops with Higher-Order Functions There are constructs in our programs we have grown accustom to always using, loops are one of these constructs. We can stop writing loops and instead use higher-order functions. This will make our code more readable, expressive and open our thinking to new ways of using higher-order functions.
  • Look at imperative loops, identify the parts that change.
  • A wrapped function can pass values in as arguments
  • Create higher-order utilities that will work over any array
A Better Way to Map and Filter JavaScript added the higher-order map and filter methods to Arrays in ES5.1 but they don’t work in the way we as functional programmers need. We can make our own implementations that will certainly prove to be more and more useful the further we get into functional programming.
  • Visualize the way map and filter work over a collection
  • Create higher-order function implementations of map and filter
  • Decouple the work and load from our higher-order functions
Reasoning with Reduce Reduce is another very popular higher-order function used for working over collections of data. It can be a little more difficult to reason about than map and filter, however it can have a lot more uses than map and filter as well...

Additional information

They assume the viewer understands JavaScript, has written some ES6, can clone a git repo and smiles at least once per day

Learn to Write Functional Javascript

£ 150 VAT inc.