Contains all the material used as part of the functional programming Prodigious study group.
Felipe Triana Castañeda
- Carlos Oviedo
- Alejandro Triana
- Felipe Triana
- Book: Functional Programming in Scala by Paul Chiusano and Rúnar Bjarnason
- Course: Functional Programming Principles in Scala by Martin Odersky
- Book: Learn you a Haskell for Great Good!
- Course: Principles of Reactive Programming
- Training Room
Einstein Room, Preferible
- Tools & Materials
Intellij-Idea, Slack, ScreenHero, Git, Scala, Haskell
-
Start Date: August 20
-
Number of Sessions: 12 sessions
-
Hours per Session: 1:30 h
| No | Name | Position |
|---|---|---|
| 1 | Carlos Oviedo | Technical Architect |
| 2 | Alejandro Triana | Principal Software Engineer |
| 3 | Felipe Triana | Senior Software Engineer |
| 4 | Fabián López | Senior Software Engineer |
| 5 | Giussepe Cárdenas | Senior Software Engineer |
| 6 | Andrés Lievano | Senior Software Engineer |
| 7 | Diego Nieto | Senior Software Engineer |
| 8 | Javier Sándoval | Principal Software Engineer |
| 9 | Andrés Alzate | Principal Software Engineer |
| 10 | Julio Chaves | Principal Software Engineer |
| 11 | Victor Mejía | Principal Software Engineer |
| 12 | Alexander Herrera | Senior Software Engineer |
| 12 | Giovany Moreno | Senior Software Engineer |
| 13 | Daniel Moreno | Senior Software Engineer |
| 14 | Nikolai Tellez | Senior Software Engineer |
| 15 | John Cely | Senior Software Engineer |
| No | Subject | Objective | Module | Assigned to |
|---|---|---|---|---|
| 1 | What is functional programming? | Describe what is a pure function: referential transparency, purity, substitution model. | Introduction to functional programming | Fabián López |
| 2 | Basic concepts of functional programming | Higher order functions, currying, polymorphic functions and tail recursion | Introduction to functional programming | Javier Sandoval |
| 3 | Basic concepts of functional programming | Higher order functions, currying, polymorphic functions and tail recursion. Exercises | Introduction to functional programming | Andrés Alzate |
| 4 | Types | Functions as objects | Types and pattern matching | Carlos Oviedo |
| 5 | Pattern matching | Pattern matching | Types and pattern matching | Felipe Triana |
| 6 | Defining functional data structures | Functional data structures and data sharing | Functional data structures | Andrés Alzate |
| 7 | Defining functional data structures | List, pairs and tuples in a functional way | Functional data structures | Felipe Triana |
| 8 | Defining functional data structures | Recursion over list and generalizing to higher order functions | Functional data structures | Julio Chaves |
| 9 | Defining functional data structures | Recursion over list and generalizing to higher order functions | Functional data structures | Julio Chaves |
| 10 | Defining functional data structures | Recursion over list and generalizing to higher order functions | Functional data structures | Alejandro Triana |
| 11 | Side efects, Option and Either data type | Handling errors without exceptions | Handling errors | Carlos Oviedo |
| 12 | Strictness and Laziness | Strict and non-strict functions | Lazy structures | Alejandro Triana |
| 13 | Strictness and Laziness | Lazy list | Lazy structures | Victor Mejía |
| 14 | Summary class | All | All | Victor Mejía |