Description
In this course, you will learn:
- Aprender o paradigma funcional.
 - Aprender os mais variados recursos da linguagem Haskell.
 - Aplicar os conhecimentos adquiridos em seus projetos.
 
Syllabus:
Haskell para Iniciantes
- Preparando o ambiente
 - Somando números
 - Fatorial
 - Fibonacci
 - Utilizando guarda
 - Variável anônima
 - Tuplas
 - Extraindo dados de tuplas
 - Definindo novos tipos (função type)
 - Listas - Parte 1
 - Listas - Parte 2
 - Listas - Parte 3
 - Listas - Parte 4
 - Exercícios envolvendo listas
 - Compreensão de listas
 - Função zip
 - Ordenar uma lista - Parte 1
 - Ordenar uma lista - Parte 2
 - Inverter uma lista
 - Funções de entrada e saída de caracteres
 - Operadores e funções
 - Polimorfismo
 - Utilizando if-then-else e case
 - Cláusula where
 - Funções lambda
 - Funções prontas
 - Vetores
 - Pilhas
 - Tipos algébricos
 - Revisando o conteúdo - Parte 1
 - Revisando o conteúdo - Parte 2
 - Árvore Binária
 - Mapas e filtros (map e filter)
 - Função sort
 - Criando módulos
 - TAD Fila
 - Grafos
 - IO, expressão do, mônadas
 - Interface Gráfica com Gtk
 - Quicksort
 - Blocos de repetição - Jogo Adivinhe o número
 - Bioinformática - Contando os nucleotídeos do DNA
 - Funções de escrita e leitura
 - Escrita em arquivo
 - Leitura de arquivo
 - Operações diretas sobre arquivos
 - Implementação de conjunto
 - IO Fatorial
 - Tratamento de exceções
 - Módulo Data.Set
 - Módulo Data.List
 - Dicionários - Data.Map
 - Busca Binária - Parte 1
 - Busca Binária - Parte 2
 - Josephus Problem
 - sortBy
 - Expressão let
 - Enumeração (enum)
 - Introduzindo variáveis locais
 - Função infixa
 - Contruindo o seu próprio módulo JSON
 - Lista de exercícios - Parte 1
 - Lista de exercícios - Parte 2
 - Jogo da Velha - Parte 1.1
 - Jogo da Velha - Parte 1.2
 - Jogo da Velha - Parte 2
 - Jogo da Velha - Parte 3
 - Jogo da Velha - Parte 4.1
 - Jogo da Velha - Parte 4.2
 - Jogo da Velha - Parte 5.1
 - Jogo da Velha - Parte 5.2
 - Número perfeito
 - Funções takeWhile e dropWhile
 - Diferença entre duas strings
 - Try Haskell
 - Operador dollar
 - Construindo grafos com Data.Graph
 - Validação de email (email-validate)
 - Threads
 - Comunicação com aplicação em C
 - Comunicação com aplicação em Python
 - Gerando valores únicos com Data.Unique
 - Testes automáticos
 - Construindo árvores com Data.Tree
 - Criptografia - MD5 e SHA
 - Parser JavaScript
 - Diferença entre 2 arquivos - diff
 - Parser Linguagem C
 - GUI Sorteando Pessoas - Parte 1
 - GUI Sorteando Pessoas - Parte 2.1
 - GUI Sorteando Pessoas - Parte 2.2
 - GUI Sorteando Pessoas - Parte 3
 - Concorrência MVar
 - Converter lista em árvore binária de busca - Parte 1
 - Converter lista em árvore binária de busca - Parte 2
 - TAD Tabela (table)
 - Expressões regulares (regex)
 




