Eventbrite, and certain approved third parties, use functional, analytical and tracking cookies (or similar technologies) to understand your event preferences and provide you with a customised experience. By closing this banner or by continuing to use Eventbrite, you agree. For more information please review our cookie policy.

Event Information

Date and Time

Location

Refund Policy

Refunds up to 7 days before event

Eventbrite's fee is nonrefundable.

Event description

Description

Foundation focuses on the essence of typed functional programming. You will learn what the FP building blocks are and how to use them. Foundation targets developers with at least 6 months of exposure to an FP language such as Scala, Haskell, F#, O'Caml or Elm.

This event comprises day 1 (out of 3) of Foundation. We will cover the following modules:

Module 1 Function, what does it mean to have "first-class" functions and how does it affect the way we program. What are pros and cons of pure function.

Module 2 Side effect, how to perform actions using pure functions. We examine the ideas behind IO and alternatives such as restricted algebra (a la Free). Finally, we introduce basics of async programing and how it compares to standard Scala Future.

We may start Module 3 Type, where we discuss the notions of cardinality and parametricity and how it can be used in conjunctions with tests.

The Venue

The course will take place on Saturday 16th of November from 9am to 18pm at De Vere West One meeting space. We will have a dedicated meeting room with projectors, flip charts, wifi, power sockets. The training includes lunch, coffee and snacks. You just need to bring a laptop.

De Vere West One is best accessed by tube from Oxford Circus or Regent's Park stations.

About The Course

The influence of Functional Programming is growing throughout the entire IT industry. DevOps uses immutable builds such as Docker to ensure reproducible deployments. Front end developers use React and Redux to create pure functions that render HTML from state objects. Back end applications employ big data framework like Spark to handle large volumes of data. Yet very few people are experienced FP developers with a strong understanding of it’s principles. This is due to the lack of effective training covering the fundamental parts of Typed Functional Programming. Foundation aims to fill this gap.

Foundation is a training course using the Scala programming language, but it also applies to all strongly typed functional programming languages such as Haskell, F# or Elm. The course has three main goals:

Making you familiar with primary Typed FP constructs,

Developing your intuition on when and which FP techniques to use and finally,

Learning why FP matters to you, your colleagues and your business.

We will achieve these goals by going through seven modules over 2-3 full days. Each module alternates presentation, programming exercises and group discussion to ensure the best learning experience for everyone. Foundation also provides additional activities and resources to be completed after the training, so that dedicated students may further their abilities.

Requirements

At least six months experience with a functional language such as Scala, Haskell, F# or O’Caml

Familiar with Scala syntax (case class, sealed trait, def, val)

OR

Two years of experience with OOP languages such as Java or C#

Completed Functional Programming in Scala MOOC or equivalent.

Expected Results (full 3-day course)

Master FP concepts like pure functions, ADT, Typeclasses to the point that you can advocate them to your team.

Know how effects are used for error handling, dependency injection, state manipulation and side effects.

Being able to read the code and understand the design of popular FP libraries such as cats, http4s, doobie or fs2.