• Valor: A definir
  • Tamanho: 10 grupos de 3 alunos e 1 grupo de 2 alunos
  • Duração: até 15 minutos por equipe + tempo para perguntas
  • Tema: linguagens de programação
    • Sugestões: linguagens de script (ex.: Ruby, Python), linguagens para domínios específicos (ex.: R, Matlab), linguagens para sistemas distribuídos (ex.: Erlang, Elixir), linguagens funcionais (ex.: Haskell), outros (XSLT, Swift). Veja outras linguagens em https://repl.it/languages
  • Abordagem:
    • a equipe deve explicar as principais características da linguagem escolhida, dando destaque às características que a diferenciam das outras. As características devem ser ilustradas com exemplos de código-fonte.
  • Dicas para evitar uma apresentação cansativa
    • Não demore muito pra mostrar código-fonte.
    • Alterne a ordem dos apresentadores, de forma que cada apresentador fale mais de uma vez.
  • Alguns tópicos sugeridos (Não entendeu algum tópico? Pergunte em sala de aula)
    • Visão geral
      • Histórico
      • Quais as principais áreas de aplicação (ex.: aplicações web, computação científica…)?
    • Características básicas
      • Quais paradigmas são diretamente suportados?
      • A linguagem é compilada, interpretada ou híbrida (i.e., com bytecode)?
      • Como é feito o gerenciamento da memória?
      • Quais são as principais estruturas da linguagem para seleção e repetição?
      • Quais são os diferenciais da linguagem, isto é, características que a tornam melhor do que outras para certas aplicações?
    • Nomes e vinculação
      • Quais as restrições para identificadores? (Ex.: maiúsculas, minúsculas etc.)
      • Faz distinção entre maiúsculas e minúsculas?
      • Em que momento é feita a vinculação de tipo a uma variável?
      • Em que momento é feita a vinculação de valor a uma variável/constante?
    • Tipos
      • A tipificação é forte ou fraca? É dinâmica ou estática?
      • Quais são os principais tipos (além de inteiros, floats e strings)?
      • As strings são mutáveis ou imutáveis? E quanto aos outros tipos?
    • Funções
      • Permite funções aninhadas?
      • Funções são cidadãos de primeira classe?
      • Quais os tipos de passagem de parâmetro, e como isso é especificado no programa? (ex.: em Pascal, usa-se “var” para passar por referência)
    • Outros
      • Há alguma ferramenta para gerenciamento de dependências, que permite baixar e instalar bibliotecas da Internet?
      • Como é feita a iteração sobre uma lista de valores?
      • Outras coisas que vocês acharem que vale a pena falar.

Apresentações

Turma 01

  • 26/08
    • Swift: Joaldino, Paula, Icaro
    • C++: Kaio, Roberto, Weslley
    • Ruby: Felipe, Ivanildo, Jadson
    • Java: Mario, Caio Souza
  • 31/08
    • Haskell: Weydson, Frederico, Telson
    • LaTeX: Vinicius, Leonardo, Antonio
    • PHP: Priscila, Edicarla
    • Lua: Fernanda, Raphael, Ariel
  • 02/09
    • R: Joevan, Osvaldo
    • Python: André, Jonatas, Rafael
    • APL: Jonathan, Vitor Vidal, Joselito
    • C#: Carla, Igor, Lucas Almeida

Turma 02

  • 26/08
    • Ruby: Ian, Ramon Oliveira, Suzanne
    • Perl: Deuana, Angelmario, Tassia
    • Python: Francisleide, Elayne, Yane
    • C#: José, Guilherme, Braian
  • 31/08
    • C: Adiel, Ubirajara, Jeferson
    • Java: Rafael, Adriano, Luiz Rosario
    • Cobol: Ramon, Rafael Trigueiros, Pablo
    • Scala: Bruno, Eduardo, Ricardo
  • 02/09
    • Swift: Ramon de Carvalho, Danilo, Paulo Henrique
    • PHP: Naara, Rodrigo, Tassio
    • VBScript: Daniel