Conceitos de Linguagens de Programação
description
Transcript of Conceitos de Linguagens de Programação
![Page 1: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/1.jpg)
Conceitos de Linguagens de Programação
Apresentação da DisciplinaProf. Dr. Rogério Vargas
UESC2013.2
![Page 2: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/2.jpg)
O professor
• Rogério R. de Vargas– Bacharel em Informática (URCAMP)– Mestre em Ciência da Computação (UCPel)– Doutor em Ciência da Computação (UFRN)
• Gaúcho– Sotaque do Sul– Grêmio
![Page 3: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/3.jpg)
Contato
• Pavilhão Jorge Amado– Módulo “33” (em frente aos banheiros, no térreo,
próximo a torre administrativa)• Site– http://rogerio.in– Conteúdo programático– Avisos– Cronograma– Todas as informações referentes à disciplina
![Page 4: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/4.jpg)
CLP
• Conceitos de Linguagens de Programação [CET 087]
• Aulas – segunda-feira– quinta-feira
• Formato– 1 aula teórica– 1 aula prática (dentro do possível)
![Page 5: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/5.jpg)
Ementa
• Caracterização das linguagens de programação de computadores e seus diferentes paradigmas de programação (lógico, procedimental, funcional, orientação a objetos, orientação a aspectos, etc.). Ambiente. Estudo dos conceitos básicos de cada paradigma. Modelos computacionais. Semântica. Outros paradigmas de programação.
![Page 6: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/6.jpg)
Objetivos
• Proporcionar ao aluno uma visão geral dos conceitos envolvidos no projeto e no uso dos diversos paradigmas de linguagens de programação.
![Page 7: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/7.jpg)
Conteúdo Programático (1)• 1. Características e objetivos das Linguagens de Programação.
Abstração de Dados. Polimorfismo. Ambiente e escopo de variáveis.• 2. Tipos. Linguagens fortemente e fracamente tipadas. Linguagens
não-tipadas. Inferência de tipos. Linguagens com tipo estático (Haskell) e dinâmico (Scheme).
• 3. Semântica: conceitos das semânticas operacional, denotacional, axiomática, algébrica e de ações.
• 4. Linguagens Imperativas:– Variáveis e atribuição;– Efeitos colaterais;– Desvios e execução sequencial de comandos;– Programação estruturada.
![Page 8: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/8.jpg)
Conteúdo Programático (2)• 5. Linguagens Lógicas:
– Cláusulas de Horn;– Implicação lógica;– Sistema de inferência lógica;– Variáveis lógicas;– Diferença entre Prolog e programação lógica.
• 6. Linguagens Funcionais:– O cálculo lambda;– Ordem de avaliação de expressões: cálculo preguiçoso (lazy evaluation) e cálculo guloso (eager
evaluation);– Avaliação parcial;– Casamento de padrões;– Transparência referencial;– Transformação de programas.
• 7. Linguagens Orientadas a Objetos: tipos abstratos de dados, encapsulamento de dados e operações, herança e outros conceitos de orientação a objetos.
• 8. Outros paradigmas: programação concorrente, modelo de dados relacional (SQL), Redes de Petri, orientação a aspectos, etc.
![Page 9: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/9.jpg)
Créditos
• 3 Créditos– 2 Teórico– 1 Prática
• Ou seja, 2 provas e 1 prática. Faremos:– 2 Avaliações– 1 Prática
• Seminário (70% da nota)• Lista de exercícios (30% da nota)
• Presença– Assinar a folha de presença, conferir no portal o andamento
das presenças/faltas
![Page 10: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/10.jpg)
Provas
• Aproximadamente 10 questões• 4 ou 5 questões do estilo “check box”– Dada 4 alternativas, assinalar o que é verdadeiro e deixar
em branco o que é falso.– As questões poderão ser todas assinaladas ou todas em
branco.• Questões dissertativas• Segunda chamada– Final do semestre– Mediante pedido no protocolo geral
![Page 11: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/11.jpg)
Seminário (1)
• Individual• Formato– 2 aulas teórica– 2 aulas prática
• Duração– 2 horas/aula para cada formato
![Page 12: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/12.jpg)
Seminário (2)
• Discutir com o professor os slides/atividade a serem apresentados uma aula antes da apresentação
• Entregar os slides/atividade ao professor antes da apresentação
• A ausência na apresentação acarretará nota ZERO ao aluno, não será prorrogado a apresentação para data posterior (salvo apresentando atestado médico ao professor)
![Page 13: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/13.jpg)
Lista de exercícios
• Individual• Trabalhos similares, será atribuído nota zero
aos trabalhos• A entrega será em dia de aula,
presencialmente, não será aceito a entrega por e-mail ou fora do horário de aula da data estabelecida no cronograma
![Page 14: Conceitos de Linguagens de Programação](https://reader036.fdocumentos.tips/reader036/viewer/2022082615/5681655a550346895dd7dad3/html5/thumbnails/14.jpg)
Pontos para o seminário1. Características e objetivos das LP 8. Prolog
2. Tipos 9. Linguagens Funcionais
3. Haskell 10. POO
4. Scheme 11. POO (prática em Java/C++)
5. Semântica 12. SQL
6. Linguagens Imperativas 13. Redes de Petri
7. Programação Lógica / Programação Concorrente
14. POA