DC-UFRPE/Bacharelado em Ciência da Computação/Paradigmas de Computação

Programa da Disciplina

editar
Nome: PARADIGMAS DE PROGRAMAÇÃO
Código: 06252
Departamento: Departamento de Computação (DC)
Área: Engenharia de Sistemas de Software
Carga-horária total: 60 horas
Créditos: 4
Pré-requisitos: INTRODUÇÃO À PROGRAMAÇÃO II (Cod. 14118)

Ementa

editar

Caracterização das linguagens de programação de computadores e de seus diferentes paradigmas de programação (lógico, procedural, funcional, orientação a objetos, concorrente, aspectos). Estudo de conceitos básicos para no que se refere a linguagens: implementação, estrutura de dados, abstração de dados, controle, tipos, escopo, subprograma, passagem de parâmetro, recursividade, sintaxe, semântica.

Objetivos

editar

Fazer com que os estudantes tenham a experiência de passar por todos os paradigmas de programação, tendo domínio dos princípios de cada um e onde utilizar cada um deles.

Conteúdo Programático

editar

1.1 Funcional (Haskell)

1.2 Lógico

1.3 Imperativo (C)

1.4 Orientação a Objetos (Java)

1.5 Orientação a Aspectos

1.6 Concorrente (Go e Java)

1.7 Dirigido a eventos

2. Sintaxe e semântica

3. Conceitos das linguagens de programação

3.1 Nomes, vinculação, verificação de tipos e escopo

3.2 Tipos de dados

3.3 Expressões e instruções de atribuição

3.4 Estruturas de controle

3.5 Subprogramas

3.6 Tipos de dados abstratos e encapsulamento

3.7 Concorrência

3.8 Tratamento de Exceções

Bibliografia Básica

editar

1. SEBESTA, R. W. Conceitos de Linguagens de Programação. Porto Alegre: Bookman, 2000.

2. WATT, D. A. Programming Language Design Concepts. John Wiley & Sons. 2004.

3. TUCKER, Allen B; NOONAN, Robert. Linguagens de programação: princípios e paradigmas. 2. ed.

São Paulo: McGraw-Hill, 2008. xxiii, 599 p. ISBN 9788577260447.

Bibliografia Complementar

editar

1. SCOTT, M. Programming Language Pragmatics. Third Edition. Morgan Kaufmann, 2009. 944 p.

2. MELO, A. C., SILVA, F. S. C. Princípios de Linguagem de Programação.

LTDA, 2003.

3. KAISLER, S. H. Software Paradigms. Wiley-Interscience, 2005

4. TURBAK, F. A., GIFFORD, D. K. Design Concepts in Programming Languages. MIT Press, 2014.

5. RYZHOV, P. Haskell Financial Data Modeling and Predictive Analytics. Packt Publishing Ltd, 2013.