CAES005 - Introduction to Functional Programming

Publicado 1/23/2018, 3:43:24 PM, última modificação 5/19/2021, 8:00:07 AM

Carga horária: 45 horas-aula (3 créditos)

Ementa: Functional Programming: concepts and main Languages. Functions: functions as first class citizens, named functions and anonymous functions, currying, modules. Pattern Matching. Data structures and immutability. Recursion. Collection processing. Lazy evaluation. Control flow. Project implementation involving a functional language. Overview of functional languages for concurrency.

Bibliografia:

  • Thomas, Dave. Programming Elixir 1.6: Functional |> Concurrent |> Pragmatic |> Fun. Pragmatic Programmers, 2018.

  • Almeida, Ulisses. Learn Functional Programming with Elixir: New Foundations for a New World. Pragmatic Programmers, 2018.
  • Davi, Tiago. Elixir: Do zero à concorrência. Casa do Código, 2017.

  • SEBESTA, R. W. Conceitos de linguagens de programação. [s. l.], 2018. Disponível em: <http://search.ebscohost.com/login.aspx?direct=true&db=edsmib&AN=edsmib.000011997&lang=pt-br&site=eds-live&scope=site>. Acesso em: 5 jul. 2019.

  • Artigos científicos e literatura cinza (posts em blogs, vídeos, etc.)