Publicação em Diário da República: Aviso de Registo nº R/Cr 55/2017 de 13-07-2017
5 ECTS; 1º Ano, 2º Semestre, 45,0 PL + 15,0 TP , Cód. 639012.
Docente(s)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
Domínio de análise e resolução de problemas.
Objetivos
Os alunos terão que aprender a focar-se num determinado problema (ou parte) proposto para programar e, com recurso a algoritmos já estudados ou a implementar, chegar a uma conclusão lógica e racional, de forma que a solução encontrada tenha um mínimo de custo de tempo e ciclos de execução. O facto de o aluno ter noção de que os algoritmos, já existentes, podem ajudá-lo na solução de um determinado problema, em parte ou num todo, poderá criar nele uma metodologia de alcance rápido ao desenvolvimento.O objectivo centra-se essencialmente na abstracção e enfoque, sabendo que um problema complexo pode ser dividido em pequenas soluções, das quais, depois de agregadas numa sequência lógica, levarão à solução da questão inicial.
Programa
1. Revisão a Liguagem C++
1.1 Tipos de Operadores e Expressões
1.2 Apontadores e Arrays
1.3 Estruturas
1.4 Alocação de Memória ( new / delete )
2. Ambiente Integrado de Desenvolvimento
2.1 O Visual Studio (Microsoft IDE)
2.2 Construção de projectos C++ em ambiente consola texto.
2.3 Compilador, Linker, Debugger.
2.4 Construção de projectos C++ em ambiente gráfico MFC
3. Estruturas dinâmicas lineares de dados
3.1 Listas
3.2 Listas ligadas
3.3 Listas duplamente ligadas
4. Tipos Abstratos de dados
4.1 Pilhas
4.2 Filas
5. - Introdução às estruturas dinâmicas não lineares de dados
5.1 Árvores
5.2 Árvore binária
5.3 Busca em Árvores Binárias
5.4 Grafos
6. - Algoritmos de pesquisa não informada
6.1 DFS Depth First Search
6.2 BFS Breadth First Search
7. - Algoritmos de pesquisa alternada
7.1 Min-Max
7.2 Min-Max com cortes alfa-beta
Metodologia de avaliação
Não existe avaliação periódica
Avaliação contínua: 30%, nota mínima 10.
Trabalho prático: 70%, com discussão obrigatória, nota mínima 10.
Bibliografia
Método de Ensino
Aulas teórico-práticas expositivas onde se descrevem os conceitos fundamentais. Aulas práticas de resolução de
casos práticos e aplicação dos conceitos a cenários de utilização real.
Software utilizado nas aulas
Visual Studio C++ 2008.