Kotlin, from zero to Functional Programming

functionalLogo.png
functionalLogo.png

Kotlin, from zero to Functional Programming

from 999.00
Entrada:
Quantity:
Add To Cart

Kotlin, from zero to Functional Programming

* Training bonificado por la fundación tripartita (FUNDAE)

Es tiempo de afrontar nuevos retos, explorar nuevos paradigmas y mejorar como desarrolladores. La práctica hace la perfección y es tiempo de añadir nuevas herramientas a nuestro toolbox que nos permita mejorar nuestras habilidades.

¿Te gustaría aprender Kotlin y programación funcional? Aprende a escribir software utilizando la programación funcional como tu principal paradigma en Kotlin de la mano de Arrow: http://github.com/arrow-kt.

Hoy el equipo de Karumi y 47 Degrees te presenta la primera edición de nuestro Kotlin, from zero to Funtional Programming training! Uniendo esfuerzos entre el equipo de ingeniería de 47 Degrees y Karumi hemos diseñado un training para desarrolladores que quieran aprender Kotlin y programación funcional basado en nuestros años de experiencia construyendo software para multitud de empresas. 4 sesiones de 8 horas para mejorar nuestras habilidades como desarrolladores escribiendo software utilizando la programación funcional como paradigma y Kotlin como lenguaje de programación. 

Temario

Este curso cubre los siguientes temas durante las 40 horas que dura el curso:

  • Types: No more primitive types, Any, Unit

  • Constants and variables: val/var

  • Control flow: if, when, while, for

  • String templates

  • Ranges

  • Functions: anonymous functions, default parameters, named arguments, tail recursion

  • Optionality

  • Classes: constructors, objects, properties, fields, inheritance, visibility

  • Interfaces

  • Data classes

  • Sealed classes

  • Enum classes

  • Generics

  • Collections: Mutable and immutable, Maps, Lists, Arrays

  • Extensions: of Generics, of Collections, extended properties

  • Operators: Overloading, inline methods

  • Coroutines: Async/await

  • Delegation

  • Property delegation

  • What is Functional Programming?

    - Introduction to Functional Programming in Kotlin

    - Pure Functions

    - Referential Transparency

    - The Substitution Model

    - Higher Order Functions

  • Domain modeling with Algebraic Data Types

    - Data classes and product types

    - Sealed classes and co-product types

  • Basic Error Handling and Data validation

    - Option

    - Try

    - Either

    - Validated

    - Fail Fast and Error accumulating Failure modes

  • Working with Immutable Data with Optics

    - Focusing on deeply nested data with Lens, Prism and Optional

    - Removing boilerplate with the Optics DSL

  • Types of higher kind

    - Introduction to polymorphic programs

    - What are Higher Kinded Types?

    - Polymorphic functions

    - Generalized Algebraic Data Types

    - Generalizing folds and unfolds with Recursion Schemes

  • Programming with the core functional type classes

    - Modeling Generic Behaviors with Type Classes

    - Transforming data with Functor

    - Independent computations with Applicative

    - Dependent Computations with Monad

    - Folding structures into summary values with Foldable

    - Traversing nested effects

    - Lawful and Lawless instances

  • Polymorphic Error Handling

    - Modeling and raising errors

    - Fail Fast and Error Accumulating strategies with ApplicativeError and MonadError

  • The issue of nested effects and monad transformers

    - Dependency Injection alternative with Reader, Kleisli, Extension Functions

    - Removing Callback-Hell and nested lambdas

    - Encoding alternatives with Free Monads and Stack Safe Free Algebras

    - The rise of Tagless Final

  • Working with Tagless Final & Async Effects

    - Suspending side effects for deferred evaluation

    - Safe resource acquisition and release

    - Integrating with third-party sync and async libraries

    - Testing Effectful Tagless Final programs

Fechas:

Los días y horarios en los que se celebra este training son:

12/3/2019. De 10:00 a 19:00.

13/3/2019. De 10:00 a 19:00.

14/3/2019. De 10:00 a 19:00.

15/3/2019. De 10:00 a 19:00.

Ubicación

Karumi Space. Calle Camponames 6, 4º Izq. 28013 Madrid

Prerrequisitos & requerimientos

Conocimientos básicos sobre programación son imprescindibles para poder asistir a este curso.

El número mínimo de asistentes es 6. Si no hay 6 asistentes en el evento este será cancelado y se devolverá el dinero de la matrícula.

El número máximo de asistentes es 16. Esto garantiza la calidad de las sesiones ya que los profesores podrán atender a cada alumno adecuadamente.

Si tienes cualquier duda sobre el training o el temario no dudes en enviarnos un email a hello@karumi.com.