Ir para o conteúdo

CCT-UFCA/Ciência da Computação/Fundamentos de Linguagens de Programação

De Wikiversidade

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.

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]

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]
  1. SEBESTA, R. W. Conceitos de Linguagens de programação. 9a Edição. Bookman, 2011. ISBN: 978-8577807918
  2. 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
  3. 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]
  1. PRATT, T. W.; ZELKOWITZ, M. V. Programming Languages: design and implementation. 3rd. Edition. Prentice Hall, 1999. ISBN 0-13-678012-1.
  2. GABBRIELLI, M.; MARTINI, S. Programming Languages: principles and paradigms. Springer, London, 2010. DOI 10.1007/978-1-84882-914-5.
  3. APPLEBY, D.; VANDEKOPPLE, J. J. Programming Languages: paradigm and practice. McGraw-Hill,1997. 2ª Edition.
  4. 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.
  5. 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.).