/reativos

Primary LanguageVim Script

<title>Disciplina de Sistemas Reativos</title>

Disciplina de Sistemas Reativos

Apresentação

Sistemas reativos interagem continuamente com o ambiente sob os quais estão inseridos. Eles representam um campo amplo de aplicações e plataformas de hardware: de jogos eletrônicos em desktops, passando por apps em celulares inteligentes, até a emergente internet das coisas em sistemas embarcados.

Neste curso iremos abordar os sistemas reativos sob diversos aspectos de software: modelos de concorrência, linguagens, técnicas de programação, e aplicações em diversas plataformas.

Ementa: Sistemas Reativos, Modelos de Concorrência Síncrono e Assíncrono, Padrão Observer, Máquinas de Estado, Corrotinas, Programação Reativa Funcional, Jogos, Arduino, Redes de Sensores sem Fio, Projeto.

Programa detalhado

  • O que é um sistema Reativo?

    • Sistemas transformacionais
    • Sistemas interativos
    • Sistemas reativos
  • Modelos de Concorrência

    • Concorrência e Paralelismo
    • Modelo assíncrono
      • Sincronismo explícito
      • Threads (memória compartilhada)
      • Atores (troca de mensagens)
    • Modelo síncrono
      • Sincronismo implícito
      • Hipótese de sincronismo
      • Restrições
  • Técnicas de Programação

    • Padrão Observer (callbacks)
    • Máquinas de estado
    • Corrotinas
    • Futures & Promises
    • Programação Reativa Functional (FRP)
    • Programação Reativa Imperativa
  • Linguagens e Ferramentas

    • Lua/Love
    • C/SDL
    • C/Arduino
    • C/TinyOS
    • Elm
    • Céu
  • Aplicações

    • Jogos (SDL, Love)
    • Sistemas embarcados (Arduino)
    • Internet das coisas (TinyOS)
  • Avaliação

    • Mini testes baseados em leitura de artigos científicos
    • Pequenos projetos
    • Projeto final