Métodos de Programação II

Ano
2
Ano lectivo
2021-2022
Código
01001214
Área Científica
Computação
Língua de Ensino
Português
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
7.5
Tipo
Obrigatória
Nível
1º Ciclo - Licenciatura

Conhecimentos de Base Recomendados

Método de Programação I.

Métodos de Ensino

O modelo pedagógico utilizado assenta em três tipos de atividades:

2 Tipos de aulas:

• Aulas destinadas à apresentação e discussão dos conteúdos programáticos;

• Aulas destinadas à aplicação de conceitos através do desenvolvimento de exercícios, nomeadamente em computador;

Trabalhos de grupo (2 alunos por grupo), destinados à realização de trabalhos propostos, que pressupõem um elevado envolvimento dos alunos.

Resultados de Aprendizagem

Pretende-se que o aluno: cimente os conhecimentos básicos em programação computacional;adquira um conjunto de conhecimentos sólidos em programação procedimental, e compreenda o efeito da forma de desenvolvimento de software nos resultados; aprenda a trabalhar com tipos estruturados e dinâmicos, nomeadamente listas, filas, pilhas, árvores e grafos; apreenda estruturas e algoritmos clássicos que sirvam diversos propósitos de eficiência na resolução estruturada de problemas.
São,ainda,objetivos desta uc desenvolver as seguintes competências genéricas:
•Capacidade para modelar problemas;
•Competência na utilização de ferramentas computacionais;
•Desenvolver algoritmos e programar utilizando linguagens de alto nível, nomeadamente em C;
•Capacidade de generalização e abstração;
•Especificar requisitos e estruturas de dados;
•Expressão escrita e oral rigorosa e clara;
•Capacidade de trabalho em equipa;
•Imaginação e criatividade;
•Espírito crítico.

Estágio(s)

Não

Programa

Desenvolvimento de Software•Linguagens e desenvolvimento de aplicações
Introdução à linguagem C•Estrutura de um programa,compilação,elementos básicos da linguagem C,tipos de dados básicos,constantes e variáveis,manipulação básica de entrada e saída,sequenciação,outros tipos de dados e Bibliotecas.
Entrada e Saída de Dados•Interação entre a aplicação e o utilizador,entrada e saída de dados.
Estruturas de Controlo•Instruções de seleção e instruções de repetição.
Programação Procedimental•Subprogramas,funções da linguagem C e organização de um programa em subprogramas.
Sequências e Apontadores•Vetores,Apontadores,Matrizes.
Estruturas•Declaração e inicialização,acesso aos campos das estruturas,leitura e escrita de estruturas.
Ficheiros•Fluxos de comunicação,de texto e binários.
Recursividade•Introdução,exemplos de aplicação e eficiência da recursividade
Estruturas de Dados Dinâmicas•Gestão da memória dinâmica,listas ligadas,árvores binárias,pilhas,filas e grafos.

Docente(s) responsável(eis)

Pedro Henrique e Figueiredo Quaresma de Almeida

Métodos de Avaliação

Avaliação
Exame: 50.0%
Participação ativa nas aulas e trabalhos de grupo: 50.0%

Bibliografia

 A. A. Rocha, Introdução à Programação usando C. FCA, 2006.

 

A. A. Rocha, Estruturas de Dados e Algoritmos em C, FCA, 2008.

 

P. Guerreiro, Elementos de Programação com C. FCA, 2006.

 

S. Baase, A. Van Gelder, Computer algorithms: an introduction to design and analysis. Addison-Wesley, 2000.

 

B. W. Kernighan, The C programming language.  Prentice Hall, 1988.

 

R. Sedgewick, Algorithms in C. Addison-Wesley, 2000.

 

J-P Tremblay, J. DeDourek, R. Bunt, Introduction to computer science: an algorithmic approach. McGraw-Hill, 1989.