https://github.com/andreainfufsm/elc117-2022a
ELC117 - Paradigmas de Programação - UFSM - 2022a
https://github.com/andreainfufsm/elc117-2022a
Last synced: over 1 year ago
JSON representation
ELC117 - Paradigmas de Programação - UFSM - 2022a
- Host: GitHub
- URL: https://github.com/andreainfufsm/elc117-2022a
- Owner: AndreaInfUFSM
- Created: 2022-04-04T10:22:47.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-09-26T19:05:48.000Z (almost 4 years ago)
- Last Synced: 2025-01-08T17:23:30.731Z (over 1 year ago)
- Language: Prolog
- Homepage:
- Size: 3.25 MB
- Stars: 4
- Watchers: 3
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Paradigmas de Programação - ELC117-2022a
[Sobre a disciplina](#sobre-a-disciplina) | [Aulas](#aulas) | [Avaliações](#avaliações) | [Bibliografia](#bibliografia)
Primeiro semestre de 2022
Professora: Andrea Schwertner Charão (andrea@inf.ufsm.br)
Horários: segundas e quartas, das 14:30 às 16:30
Salas de aula: 258 e 334
Plataformas: GitHub e Discord
## Sobre a disciplina
- [Ementário](https://www.ufsm.br/ementario/disciplinas/ELC117): informações institucionais sobre objetivos, programa e bibliografia.
- As aulas serão presenciais, com registro de frequência. Entre as aulas, usaremos Discord para comunicação síncrona/assíncrona por chat/áudio.
- Usaremos metodologias ativas de aprendizado, incluindo práticas com resolução de problemas, projetos de programação e uma estratégia de "sala de aula invertida", com consulta de material antes da aula (assincronamente) e encontros presenciais para práticas orientadas e solução de dúvidas.
- O material teórico de cada aula será disponibilizado com antecedência em formatos variados (slides, vídeos, programas, textos, etc.).
- Todo o material da disciplina estará no GitHub e as entregas de exercícios e trabalhos também serão no GitHub.
## Aulas
O cronograma de aulas abaixo serve como referência, mas estará em constante atualização conforme o andamento das atividades.
O material para cada aula será disponibilizado **antes da aula** para consulta **assíncrona**.
AulaDataDiaAssunto/Atividade
1
11/04/2022
Seg
- Apresentação do programa da disciplina e do plano de ensino.
-
Visão geral dos paradigmas de programação (slides).
2
13/04/2022
Qua
-
Fundamentos de linguagens de programação funcional
(slides). -
Introdução a funções em linguagem Haskell
(slides).
3
18/04/2022
Seg
4
20/04/2022
Qua
-
Programação funcional:
funções de alta ordem
(slides) e
funções anônimas (lambda)
(slides).
-
Segunda prática com Haskell.
5
25/04/2022
Seg
- Programação funcional:
geração de listas (slides) e
list comprehension (slides). -
Terceira prática com Haskell.
6
27/04/2022
Qua
- Programação funcional: geração de listas e list comprehension (material das aulas anteriores).
-
Quarta prática com Haskell.
7
02/05/2022
Seg
- Programação funcional: uso de let/in, where e I/O (slides).
-
Quinta prática com Haskell.
8
04/05/2022
Qua
- Programação funcional: condicionais, recursividade e pattern matching (slides).
- Mais exemplos (slides).
-
Sexta prática com Haskell.
9
09/05/2022
Seg
- Desenvolvimento do trabalho com Haskell.
10
11/05/2022
Qua
11
16/05/2022
Seg
- Dia não letivo segundo Calendário UFSM 2022.
12
18/05/2022
Qua
- Aula suspensa devido à previsão de ciclone.
13
23/05/2022
Seg
- Introdução à programação lógica (slides).
-
Introdução à linguagem Prolog: fatos, regras, consultas e variáveis (slides). -
Primeira prática com Prolog. - Veja também: Documentário lançado em abril/2022, comemorativo de 50 anos de Prolog!
14
25/05/2022
Qua
- Programação lógica em Prolog: consultas e regras, listas e problemas de lógica.
-
Segunda prática com Prolog.
15
30/05/2022
Seg
- Elaboração de trabalho avaliativo.
16
01/06/2022
Qua
- Elaboração de trabalho avaliativo.
17
06/06/2022
Seg
- Elaboração de trabalho avaliativo.
18
08/06/2022
Qua
19
13/06/2022
Seg
20
15/06/2022
Qua
-
Programação orientada a objetos (slides | vídeo). -
Primeira prática com Java.
21
20/06/2022
Seg
- Programação orientada a objetos: introdução, conceitos e exemplos de encapsulamento, classes, objetos, métodos, atributos, construtores (slides).
-
Segunda prática com Java.
22
22/06/2022
Qua
-
Programação orientada a objetos: classes, objetos, métodos, atributos, uso de static, uso de this, Swing e ArrayList. Veja slides sobre uso de static. -
Terceira prática com Java.
23
27/06/2022
Seg
- Programação orientada a objetos: herança (slides).
-
Quarta prática com Java.
24
29/06/2022
Qua
- Programação orientada a objetos: polimorfismo (slides).
-
Quinta prática com Java.
25
04/07/2022
Seg
- Programação orientada a objetos: classes abstratas e interfaces em Java (slides).
-
Sexta prática com Java.
26
06/07/2022
Qua
- Programação concorrente (slides).
-
Concorrência em Java (slides). -
Sétima prática com Java.
27
11/07/2022
Seg
- Problemas de programação concorrente: sincronização (slides | vídeo).
-
Oitava prática com Java.
28
13/07/2022
Qua
- Desenvolvimento do projeto final.
29
18/07/2022
Seg
- Desenvolvimento do projeto final.
30
20/07/2022
Qua
- Desenvolvimento do projeto final.
31
25/07/2022
Seg
- Desenvolvimento do projeto final.
32
27/07/2022
Qua
- Desenvolvimento do projeto final.
## Avaliações
- Primeiro bimestre
- Práticas entregues no GitHub (20%)
- [Trabalho de programação funcional em Haskell](trabalhos/t1) (40%)
- [Apresentação de trabalho sobre Prolog](trabalhos/t2) (20%)
- [Atividade avaliativa personalizada](trabalhos/t3) (20%)
- Segundo bimestre
- Práticas entregues no GitHub (20%)
- ~~Produção de vídeo (15%)~~
- [Projeto final de programação orientada a objetos](trabalhos/t4) ~~(50%)~~ (60%)
- [Atividade avaliativa personalizada](trabalhos/t5) ~~(15%)~~ (20%)
- Avaliação final (exame): 22/08/2022
## Bibliografia
- Robert Sebesta. Conceitos de Linguagens de Programação. Bookman, 2018. Disponível no [Portal de E-books](https://www.ufsm.br/orgaos-suplementares/biblioteca/e-books-2/) da UFSM.
- Miran Lipovača. [Learn You a Haskell for Great Good!](http://learnyouahaskell.com/).
- Patrick Blackburn, Johan Bos, and Kristina Striegnitz. [Learn Prolog Now](http://www.learnprolognow.org/).
- Markus Triska. [The Power of Prolog](https://www.metalevel.at/prolog).
- Outros materiais de referência indicados nas aulas.