CCT-UFCA/Ciência da Computação/Fundamentos de Linguagens de Programação
Programa do Componente Curricular
[editar | editar código]| Código: | CC0022 | ||||||||
| Componente Curricular: | Fundamentos de Linguagens de Programação | ||||||||
| Semestre de Oferta: | 4º Semestre | Tipo: | Disciplina | Caráter: | Obrigatória | ||||
| Unidade Acadêmica Responsável: | Centro de Ciências e Tecnologia - CCT | ||||||||
| Área: | Programação | ||||||||
| Créditos: | 4 | Carga horária: | 64 | Teórica: | 32 | Prática: | 32 | Extensão: | - |
| Pré-requisito: | CC0019 - Programação Orientada a Objetos | ||||||||
| Co-requisito: | |||||||||
| Equivalência: | |||||||||
Objetivos
[editar | editar código]Introduzir o aluno aos principais paradigmas de linguagens de programação e aos conceitos fundamentais a eles relacionados.
Ementa
[editar | editar código]Linguagens funcionais. Funções como valores de primeira ordem; polimorfismo; ambientes e fechamentos; avaliação "adiada"; linguagens funcionais; linguagens orientadas a objetos. Tipos abstratos de dados. Módulos. Herança e hierarquias. Linguagens lógicas. Predicados, cláusulas e o modelo de unificação. Implementação dos vários paradigmas em um interpretador; compilação vs implementação. Administração de memória; pilha vs heap; coleta de lixo.
Conteúdo
[editar | editar código]- Introdução: Razões Para Se Estudar Conceitos De Linguagens De Programação.
- Noções Básicas De Sintaxe, Semântica E Gramáticas.
- Variáveis: Nomes, Atributos, Escopos E Vinculações.
- Tipos De Dados.
- Tipos Abstratos De Dados.
- Linguagens De Programação Orientada À Objetos.
- Linguagens De Programação Orientada À Objetos: Noções De Java.
- Linguagens De Programação Funcionais.
- Linguagens De Programação Funcionais: Noções De Scheme.
- Linguagens De Programação Lógicas.
- Linguagens De Programação Lógicas: Noções De Prolog.
Metodologia
[editar | editar código]A disciplina combina aulas expositivas de conteúdo com aulas práticas de resolução de exercícios. Os alunos participam de:
- Aulas de conteúdo: exposição teórica dos conceitos, métodos e técnicas relacionadas ao tema da disciplina;
- Aulas de exercícios: resolução de listas de exercícios, discussão em grupo e apresentação de soluções passo a passo, visando consolidar o aprendizado e aplicar os conceitos na prática.
Avaliação
[editar | editar código]A avaliação da disciplina é composta por atividades teóricas e práticas, distribuídas ao longo do semestre para verificar tanto o domínio conceitual quanto a capacidade de comunicação e aplicação dos conteúdos.
- Prova 1: avaliação intermediária voltada à compreensão dos conceitos apresentados na primeira parte da disciplina;
- Prova 2: avaliação final abrangendo os conteúdos de todo o semestre, com foco na consolidação do aprendizado;
- Apresentação: exposição oral individual ou em grupo sobre um tema ou projeto relacionado à disciplina, avaliando clareza, domínio do conteúdo e capacidade de argumentação.
A nota final é calculada com base nas duas provas e na apresentação, conforme os critérios definidos pelo professor responsável.
Bibliografia Básica
[editar | editar código]- SEBESTA, R. W. Conceitos de Linguagens de programação. 9a Edição. Bookman, 2011. ISBN: 978-8577807918
- ASCENCIO A. F. G.; CAMPOS, E. A. V. Fundamentos da Programação de Computadores: Algoritmos, Pascal, C/C++ (padrão ANSI) e Java. 3ª ed. Pearson, 2012. ISBN: 978- 8564574168
- GHEZZI, C. Conceitos de linguagens de programacao. 2ª ed. Rio de Janeiro: Campus, 1987. ISBN: 85-7001-204-7
Bibliografia Complementar
[editar | editar código]- PRATT, T. W.; ZELKOWITZ, M. V. Programming Languages: design and implementation. 3rd. Edition. Prentice Hall, 1999. ISBN 0-13-678012-1.
- GABBRIELLI, M.; MARTINI, S. Programming Languages: principles and paradigms. Springer, London, 2010. DOI 10.1007/978-1-84882-914-5.
- APPLEBY, D.; VANDEKOPPLE, J. J. Programming Languages: paradigm and practice. McGraw-Hill,1997. 2ª Edition.
- MENEZES, N. N. C. Introdução à programação com Python: algoritmos e lógica de programação para iniciantes. 2ª ed. revisada e ampliada. São Paulo, SP: Novatec, 2014. 328 p. ISBN 9788575224083.
- DEITEL, H. M.; DEITEL, P. J. C++: como programar. 5. ed. São Paulo, SP: Pearson/Prentice Hall, 2006. xlii,1163 p. + cd-rom ISBN 8576050560 (broch.).