Skip to content

Latest commit

 

History

History
 
 

t2

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Trabalho 2: Produção de vídeo "Um conceito, uma linguagem, um exemplo"

Motivação

Linguagens de programação são ferramentas poderosas na mão de pessoas que conseguem tirar o melhor proveito delas. Praticar programação para resolver problemas é essencial para isso, mas conhecer conceitos que se aplicam em diferentes linguagens também ajuda a navegar nas águas agitadas das tecnologias da área 😄. Neste trabalho, vamos explorar esse universo um pouco mais, para além da teoria e prática já vistas.

Objetivo

Produzir um vídeo sobre um conceito presente em uma linguagem de programação funcional ou lógica, à sua escolha, e explicar um exemplo de código que ilustre o conceito, sem sobreposição com o que é abordado nas aulas.

Desenvolvimento

  • Este trabalho deverá, preferencialmente, ser feito em duplas.

  • Os conceitos deverão ter alguma relação com os paradigmas de programação funcional e/ou lógico, pois é isso que estamos estudando :-)

  • Vocês deverão escolher combinações de conceitos e linguagens da lista fornecida ou, se preferirem, propor à professora alguma combinação que não esteja na lista.

  • Será permitido apenas um vídeo para cada combinação, porque não seria legal todo mundo tratar do mesmo tema, né?

  • Para escolher o tema do vídeo (combinação de conceito/linguagem), vocês devem preencher esta planilha e aguardar validação da professora.

  • Uma vez definido o conceito e a linguagem, vocês deverão pesquisar um exemplo que ilustre o conceito. Podem ser vários exemplos também, mas pelo menos um! Se forem exemplos simples e curtos, é melhor ter mais de um. Se estiverem dentro de códigos longos que explorem vários recursos, pode ser apenas um exemplo, explicado dentro do contexto.

  • Quando tiverem definido os exemplos, vocês deverão criar um roteiro para o vídeo, pensando em como apresentar o conceito, a linguagem e o(s) exemplo(s). Usem a criatividade e aproveitem a liberdade para decidir o estilo de vídeo que acharem melhor.

  • Depois é só produzir o vídeo, entregá-lo e aguardar o Oscar!

Conceitos e linguagens

Conceitos

  • Lambda Functions
  • Higher Order Functions
  • Recursão
  • Currying
  • List Comprehension
  • Passagem de parâmetros
  • Predicates
  • Backtracking
  • Lazy Evaluation
  • Outros (fale com a professora)

Linguagens

  • C#
  • C++11
  • Scala
  • Clojure
  • Rust
  • Elixir/Erlang
  • Lisp
  • Scheme
  • JavaScript
  • Julia
  • Python
  • F#
  • Haskell
  • Prolog
  • Outras (fale com a professora)

Requisitos para o vídeo

  • O vídeo não deve ser nem muito curto (superficial demais) nem muito longo (afinal é sobre um assunto pontual). Algo em torno de 15 minutos é uma boa meta, mas pode ser mais que isso se for necessário, ou até um pouco menos se houver uma boa edição.

  • Em algum ponto do vídeo deve constar a identificação de vocês (seus nomes e cursos) e da disciplina (nome da disciplina, querida professora responsável por propor este trabalho, semestre e universidade).

Critérios de Avaliação

A nota neste trabalho será atribuída da seguinte forma:

  • 50%: conteúdo (grau de dificuldade, informações, explicações, exemplos)
  • 50%: formato (recursos usados no vídeo)

Entrega

  • Deadline: 05/07/21
  • Link para criação do repositório de entrega: https://classroom.github.com/g/g-uGQmjl
  • Seu repositório de entrega deverá conter um README.md contendo:
    • Identificação da dupla
    • Link para o vídeo produzido