Métodos de Programação II
2
2023-2024
01001214
Computação
Português
Presencial
Semestral
7.5
Obrigatória
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ãoPrograma
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
Participação ativa nas aulas e trabalhos de grupo: 50.0%
Exame: 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.