ISLA IPGT 6291
Algoritmos e Estrutura de Dados
Multimédia (L) (ISLA GAIA)
-
ApresentaçãoPresentationEsta UC é essencial para a formação de qualquer profissional da área de Informática, pois apresenta os Algoritmos e Estruturas de Dados, que servem como base para diversas matérias futuras, como Linguagens de Programação I e II, entre outras. O foco vai além da simples aprendizagem de uma linguagem de programação: o/a aluno/a desenvolve capacidades de pensamento lógico, analisar problemas e criar conhecimentos fundamentais sobre a forma como os dados são organizados, armazenados e manipulados de forma eficiente, bem como sobre os algoritmos que operam sobre essas estruturas. A aprendizagem de algoritmos e estruturas de dados é uma base imprescindível para o desenvolvimento de software robusto, eficiente e escalável.
-
ProgramaProgramme1. Conceitos de algoritmos e Estruturas de Dados Analise da eficiência de algoritmos Notações assintóticas 2. Estruturas de dados dinâmicas Vetores e Matrizes Pilhas, Filas, Listas Arvores e Grafos Operações com as estruturas (Inserir, alterar, eliminar e ordenar) 3. Ordenação e Pesquisa Ordenação: Bubble Sort, Quick Sort, Selection Sort, Insertion Sort, Shell Sort, Merge Sort Pesquisa: sequencial, binária, hashing Comparação dos algoritmos 4. Recursividade Conceitos base Função Fatorial, Fibonacci, Tail Recursion, outras funções Problemas clássicos de funções recursivas 5. Implementação em C# Modelo de camadas Ficheiros, streams e serialização Aplicações com base de dados Tratamento de erros
-
ObjectivosObjectivesAnalisar a complexidade das principais estruturas de dados dinâmicas: vetores (arrays), matrizes, listas, pilhas, filas. Estudar os principais algoritmos de pesquisa e ordenação. Implementar as estruturas e os algoritmos em C#. -Ser capaz de analisar a complexidade e eficiência dos algoritmos mais relevantes; -Ser capaz de implementar as estruturas de dados mais relevantes, nomeadamente arrays, matrizes, listas, pilhas, filas e arvores; -Uso técnicas algorítmicas, como seja pesquisa, ordenação; -Compreender e implementar técnicas de programação recursivas; -Dominar a linguagem C#.
-
BibliografiaBibliographyPackt Publishing. (2023). C# Data Structures and Algorithms. Packt Publishing. Edet, T. (2023). Algorithms and Data Structures for OOP with C#. Independently published. Wengrow, J. (2020). A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills. Pragmatic Bookshelf.
-
MetodologiaMethodologyAs aulas desta UC assumem um carácter teórico-prático e são lecionadas num contexto baseado em resolução de problemas, complementadas com demonstração da aplicação prática com recurso a exercícios, bem como orientação e mentoria em projetos.
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureObrigatório
-
EstágioInternshipNão