Paradigmas de Linguagens de Programação

Universidade LaSalle Canoas - 2024/2

Objetivos

São objetivos da disciplina:

Pré-requisitos

Embora os pré-requisitos não sejam obrigatórios, o seu domínio auxiliará muito na evolução do aprendizado:

Competências trabalhadas

As competências trabalhadas na disciplina são:

Unidades de Aprendizagem

As unidades de aprendizagem abordadas na disciplina são:

Estratégias metodológicas

Aulas expositivas, atividades de pesquisa relacionadas às unidades de aprendizagem, exemplos práticos e exercícios individuais ou em grupo.

Cronograma

AulaConteúdo ProgramadoData
01
  • Apresentação da Disciplina.
  • Linguagens de Programação.
  • Processo de desenvolvimento de programas.
05/03
02
  • Qualidades desejáveis em linguagens de programação.
  • Sintaxe e semântica.
  • Processadores de linguagens.
  • Compilação e interpretação.
  • Máquinas virtuais.
12/03
03
  • Pesquisa sobre Lingagens de Programação Imperativas.
19/03
04
  • Linguagem de programação C.
  • Modelo de memória de C.
  • Implementação de um array dinâmico em C.
26/03
05
  • Ponteiros em C.
  • Tipos de Dados Genéricos em C..
  • Pilhas e Filas.
02/04
06 09/04
07
  • Revisão de organização de dados em memória.
  • Implementação do trabalho..
16/04
08
  • Introdução a Programação em Lógica.
  • Implementação do trabalho..
23/04
09
  • Lógica de Predicados.
  • Prolog.
  • Processamento de listas com Prolog..
30/04
10
  • Prova P2.
07/05
11
  • Tipos de dados primitivos, estruturados e compostos”.
  • Tipos de dados: representação, equivalência, compatibilidade, conversão.
  • Tipos de dados definidos pelo usuário.
  • Checagem de tipos.
  • Programação Funcional em Haskell.
  • Divulgação de resultados do G1.
14/05
12
  • Programação Funcional em Haskell.
21/05
13
  • Exercícios em Haskell.
28/05
14
  • Programação modular.
  • Programação orientada a objetos (Java, Io e Python).
  • Revisitando tipos abstratos de dados.
  • Divisão de responsabilidades.
  • Estado e comportamento de objetos.
  • Herança.
  • Interface e Implementação.
  • SOLID.
  • OOP com classes e protótipos.
04/06
15
  • Exercícios sobre programação orientada a objetos.
  • Prazo final para a entrega do T3.
11/06
16
  • Programação concorrente.
18/06
17
  • Programação concorrente.
  • Exercícios de Programação concorrente.
25/06
18
  • Prova P2.
  • Prazo final para a entrega do T4.
02/07
19
  • Programação distribuída.
  • O futuro da programação.
  • Divulgação de Resultados.
  • Revisão para a substituição de grau.
09/07
20
  • Prova de substituição de grau.
16/07

Procedimento e critérios de avaliação

A nota final será composta por trabalhos/exercícios e prova, que serão desenvolvidos durante as aulas e em atividades extraclasse.

O grau 1 será composto por G1 = T1(3.0) + T2(3.0) + P1(4.0)

O grau 2 será composto por G2 = T3(4.0) + T4(3.0) + P2(3.0)

A nota final será a média (M) dada pela regra M = (G1 + G2) / 2

A recuperação será realizada com a aplicação de uma prova escrita. A nota desta substituirá a nota mais baixa e a média (M) será recalculada.

Para obter a aprovação, o aluno deve obter uma média (M) igual ou superior a 6, com frequência igual ou superior à 75%. A frequência será medida a partir de chamada nominal, realizada em todas as aulas.

Recursos para a disciplina

Bibliografia

  1. SEBESTA, Robert. Conceitos de Lingagens de Programação. 11a. Ed. Bookman.Porto Alegre, 2018.
  2. Miran Lipovača. Learn You a Haskell for Great Good! A Beginner’s Guide
  3. Bryan O’Sullivan, John Goerzen e Don Steward. Real World Haskell - O’Reilly

Recursos _online

  1. Paradigmas de Linguagem de Programação - canal Tu quer saber mais? do YouTube.

Tutoriais

  1. O manual do iniciante em C: aprenda o básico sobre a linguagem de programação C em apenas algumas horas