€96.38 – €120.78

Functional Design Patterns Course

Event Information

Share this event

Date and Time

Refund Policy

Refund Policy

No Refunds

Event description

Description

Online course on July 4th and 11th

We are now in the Functional Programming age and many Object-Oriented Programming languages have embraced at least some parts of the Functional Programming paradigm.
Many developers are eager to use this new paradigm but they're still struggling on how to switch from OOP design to FP design.

Is it possible to keep using the 4 Rules of Simple Design even when using Functional Programming paradigm in order to simplify the design of your application?

In this online course with Uberto Barbini, we will learn how to proceed from a typical OO Hexagonal design to a purely functional one with concrete examples.
Notions such as Categories, Functors and Monads will naturally emerge from our code and we will discuss them thoroughly.

Target Audience

The ideal participant has a good experience with Object Oriented programming and some exposure to Functional Programming but wants to know more.

No special knowledge of functional libraries or languages is required.

Program

The main goal of the course is to teach how to model your application using morphisms and categories rather than object-oriented stateful entities.

It's important to understand that functional programming is about mindset and reasoning, not languages and tools.

Topics

  • Introduction to functional programming
  • The basis of Category Theory
  • Generics as data builder
  • Higher Order Functions
  • Monoids and Monads
  • Laziness and ADT.

Agenda

Module 1 (or first session - day one)

  • The 4 principles
  • Introduction to functional programming
  • Morphisms and Categories
  • Exercise Kata
  • Designing with Categories
  • Using Functors
  • Homework.

Module 2 (or second session - day two)

  • Discussion of homework
  • Advanced examples
  • How to integrate with legacy code
  • Functional Concurrency
  • Functional Testing
  • Functional Debugging.

Learning Objectives

By the end of the workshop, you will…

  • Know how to apply 4 principles of simple design to functional programming
  • Be able to model a problem using transformations in a pure functional way
  • Be able to practice the concepts learn right away in your day-to-day job
  • Have a better understanding of Category Theory concepts
  • Have written a fair amount of functional code.

Expect to get your hands dirty

In this course, we will take a full hands-on approach to functional programming and category theory.

Participants are expected to solve some coding and design exercises and to work on their own on a homework assignment between the two sessions.

We believe that the best way to learn something is to practice it yourself, so the whole course is task-oriented, with practical exercises.

On the second day, there will be space for discussion on problems brought from participants, so if you have encountered problems trying to adopt functional programming, please have them ready as we'll be discussing them.

FAQ

Is there anything I need to do before the workshop?
In order to fully benefit from this workshop, you could watch some videos of related talks (a list will be given in advance).
You could also give a look at the Kotlin languages: example discussed are in Kotlin, there will be explanations but a bit of familiarity with the language would be beneficial. Your own exercises and homework can be done in any language.

What language will this workshop be in?
In English.

Anything to do prior to the workshop (books to read, stuff to install)?
You need a computer with a developing environment ready for your language of choice.

Practical Info

Language: English
Length: 2 hours + 2 hours
Dates: July 4th and July 11th 2019
Time: from 6pm to 8pm each day
Laptop and setup: Check out the FAQ section

How to join the Online Course

The online course will take place in two days: Thursday 4th July and Thursday 11th July, from 6pm to 8pm each day.
We will be sending detailed instructions on how to join the online course with Uberto Barbini a couple of weeks prior to the course date approx.


Trainer: Uberto Barbini


Payment

We accept the following methods of payment.

PayPal, Credit/Debit card (via PayPal, click on the link: "Don't have a PayPal account?"), Bank transfer.

Bank Transfer

Select the number of tickets you want to purchase, insert your details and select “Other payment options” (bottom of the page, right side, just below the PayPal logo) -> Show -> Send Invoice.

Once you finish the check out procedure, you’ll receive a confirmation email and we’ll be sending you an invoice with the correct amount you have to pay and our bank details for the bank transfer.

Discount

Under_Cover_Learner Discount - SAVE 20%

If you’re paying the ticket out of your own pocket and you don’t have a VAT number, you can get a 20% discount on any tickets and on any ticket tiers!

How? Just enter the Under_Cover_Learner promotional code in the registration field on Eventbrite.

Please note: This code cannot be used in conjunction with any other offers/discount codes, and it applies to any ticket tier.

Privacy Policy, cancellations and refunds, Venue info
Find out more at this link.

Share with friends

Date and Time

Refund Policy

No Refunds

Save This Event

Event Saved