/Linguagem-de-Programacao

Trabalho em grupo da disciplina de Linguagem de Programaçao

Primary LanguageTeX

Trabalho Linguagem-de-Programacao-

Grupo :

  • Matheus Rangel de Figueiredo
  • Bruno Pena Baeta
  • Davi Dias

Descrição

Introdução

Um dos objetivos da disciplina de Linguagens de Programação é permitir que o aluno, ao conhecer as estruturas semânticas que definem o comportamento das linguagens de programação, tenha facilidade para aprender qualquer linguagem de programação desconhecida em pouco tempo, em diversos paradigmas e modelos de programação.

Nos tempos modernos, com a popularização de computadores com arquiteturas multi-núcleos e a expansão dos sistemas distribuídos e aplicações desenvolvidas para a núvem, a programação paralela e concorrente se tornou uma tarefa constante na vida do desenvolvedor. Outra tendência no desenvolvimento de linguagens de programação é a convergência de domínios de programação, tais como desenvolvimento para desktop, desenvolvimento móvel ou para a web.

Cada empresa, site, pesquisador ou profissional possui sua própria visão do que será uma linguagem de programação para o futuro. É difícil se prever como será o futuro da programação. Não se sabe nem mesmo se o futuro da programação será uma linguagem de programação. Por isso, o profissional de computação deve saber estudar e analisar uma linguagem programação, conhecendo seu funcionamento, suas estruturas e forma de expressão. Especificação

O grupo deverá publicar no fórum do Canvas o tema escolhido. A escolha obedecerá a política FCFS (First Come First Served). Ou seja, quem postar primeiro garante o tema. Não poderá haver dois grupos com o mesmo tema.

A especificação do trabalho é:

Grupos de até 3 alunos no máximo.
Cada grupo deverá escolher uma linguagem de programação.
O grupo deverá analisar as características da linguagem tais como:
    domínios de aplicação,
    tipos de dados e sistemas de tipos,
    alocação de memória,
    principais instruções de controle,
    sintaxe e expressividade,
    recursividade,
    concorrência
    paradigmas de programação presentes (com exemplos de estruturas semânticas de cada paradigma).
O grupo deverá redigir uma documentação apresentando a linguagem de programação. Ele deve conter os tópicos acima, mas não de se limitar a eles. Os tópicos acima nem mesmo devem ser seções específicas da documentação.
O grupo deverá desenvolver um sistema com no mínimo 100 linhas para apresentar os principais recursos da linguagem de programação. O programa deve ser documentado e comentado, explicando cada estrutura semântica relevante que está sendo utilizada.
O grupo deverá gravar um vídeo tutorial apresentando a linguagem de programação.

Documentação

Deverá ser desenvolvida uma documentação de poucas páginas, estilo hand-out de até no máximo 6 páginas, que descreva o tópico estudado. É incentivada a utilização de recursos visuais, tais como exemplos, tabelas, figuras, diagramas, etc, para ilustrar o tema. O hand-out deverá ser escrito utilizando o modelo LaTeX de artigo da Sociedade Brasileira de Computação, disponibilizado no link: https://pt.overleaf.com/latex/templates/sbc-conferences-template/blbxwjwzdngr (Links para um site externo.). O texto deve ser claro e sucinto. Serão avaliados, além do conteúdo, a forma de apresentação, a correção no uso da língua portuguesa e a clareza na exposição dos argumentos. Vídeo

Neste trabalho deverá ser produzido um vídeo, com aproximadamente 15 minutos sobre o conteúdo estudado. O objetivo principal do vídeo é apresentar a ideia geral do tema e como ele pode ser aplicado, utilizando exemplos. O vídeo deve ter um caráter mais motivacional que técnico. A estrutura do vídeo deve ter foco no engajamento do espectador, e deve possuir a seguinte anatomia: nos primeiros 3 minutos toda a ideia geral já deve ter sido transmitida; em seguida devem entrar as explicações e exemplos. Até os 9 a 12 minutos, todo o conteúdo essencial deve ter sido dado e deve-se iniciar a conclusão. Linguagens Tema

As linguagens de programação que poderão ser escolhidas são:

Crystal
Cuda
D
Dart
Elixir
Elm
Golang
Groovy
Haxe
Julia
Pharo
Python
R
Rust
Web Assembly

Resultados esperados

Deverão ser entregues 3 artefatos:

Uma documentação em PDF.
Um vídeo tutorial.
O código fonte completo do projeto.

Forma de entrega do trabalho

A documentação do trabalho deverá ser entregue no Canvas. Dentro da documentação deve constar, ainda na 1a página, um link para o repositório do código e outro link para o vídeo disponibilizado.