Conceitos de Linguagens de Programação

14
Conceitos de Linguagens de Programação Apresentação da Disciplina Prof. Dr. Rogério Vargas UESC 2013.2

description

Conceitos de Linguagens de Programação. Apresentação da Disciplina Prof. Dr. Rogério Vargas UESC 2013.2. 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. - PowerPoint PPT Presentation

Transcript of Conceitos de Linguagens de Programação

Page 1: Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação

Apresentação da DisciplinaProf. Dr. Rogério Vargas

UESC2013.2

Page 2: Conceitos de Linguagens de Programação

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

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

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

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

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

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

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

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

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

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

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

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

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