140 likes | 219 Views
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.
E N D
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
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