Conceitos de Linguagens de Programação

Post on 24-Feb-2016

21 views 0 download

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

Conceitos de Linguagens de Programação

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

UESC2013.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

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

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)

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.

Objetivos

• Proporcionar ao aluno uma visão geral dos conceitos envolvidos no projeto e no uso dos diversos paradigmas 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.

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.

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

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

Seminário (1)

• Individual• Formato– 2 aulas teórica– 2 aulas prática

• Duração– 2 horas/aula para cada formato

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)

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

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