Algoritmia e Estruturas de Dados

Ficha de Unidade Curricular – 1º Ciclo

Unidade Curricular / Curricular Unit
Algoritmia e Estruturas de Dados

Ciclo de Estudos / Study Cycle
Licenciatura em Engenharia Informática

Nome do Docente Responsável
Pedro Hugo Queirós Alves

Objectivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelosestudantes)
O objectivo desta unidade curricular é introduzir os conceitos fundamentais de algoritmos e das estruturas  de dados básicas, numa perspetiva de resolver problemas complexos de uma forma eficiente.   O aluno deverá ser capaz de avaliar a eficiência de um algoritmo sem necessidade de o implementar ou  testar. Deverá ser igualmente capaz de aplicar a estrutura de dados mais eficaz e eficiente para resolver  um determinado problema.  Concretamente, o aluno deverá conseguir implementar programas em Java cuja eficiência seja um critério
significativo de sucesso (ex: pesquisa, ordenação).

Learning outcomes of the curricular unit
This curricular unit aims to introduce the basic concepts of algorithms and basic data structures, through the  perspective of solving complex problems in the most efficient possible way.
The student should be able to analyze the efficiency of a given algorithm without implementing or testing it. It  should also be able to choose the most appropriate and efficient data structure to support the solution of a  given problem.  In practice, the student should be able to implement Java applications whose efficiency is a determining  success factor (ex: searching, sorting).

Conteúdos programáticos
– funções recursivas, algoritmos recursivos
– algoritmos de pesquisa
– eficiência e optimização
– complexidade de algoritmos
– ordenação – bubble sort, selection sort, insertion sort, quick sort
– tipos de dados abstractos – pilhas e filas
– listas ligadas
– árvores
– hash tables

Syllabus
– recursive functions, recursive algorithms
– search algorithms
– efficiency and optimisation
– complexity of algorithms
– sorting – bubble sort, selection sort, insertion sort, quick sort
– abstract data types – queues and stacks
– linked lists
– trees
– hash tables

Demonstração da coerência dos conteúdos programáticos com os objectivos da unidade curricular

Os conteúdos programáticos desta UC visam dotar os estudantes de um conjunto alargado de  conhecimentos sobre algoritmos, com um foco especial sobre a sua eficiência. Por outro lado, os
estudantes ficam aptos a desenhar estruturas de dados adequadas à resolução de problemas complexos  como a pesquisa e a ordenação de dados.  É expectável que o aluno seja capaz de conceber soluções tecnológicas com preocupações de  desempenho e eficiência e que sejam capazes de as testar e validar.  O projeto em grupo fomenta o desenvolvimento de competências de comunicação interpessoal e de gestão  de requisitos e de tempo disponível para o seu desenvolvimento.

Demonstration of the syllabus coherence with the Curricular Unit’s objectives
The programmatic contents of this curricular unit enable students to acquire detailed knowledge of  algorithms with a strong focus on their efficiency. On the other hand, the students are now able to design  data structures that are adequate to the resolution of complex problems such as sorting and searching.  It is expectable that the student is able to design technological solutions with a focus on performance and  efficiency and that those solutions are properly optimized and tested for the specific problem they aim to  solve.  The project is developed in group, improving communication skills as well as time and requirements  management.

Metodologias de ensino (avaliação incluída)
A disciplina é teórico-prática, havendo uma alternância entre métodos:??
Met. 1 – expositivos,
Met. 2 – demonstrativos
Met. 3 – participativos.

Avaliação Continua:
20% – Teste intermédio
20% – Teste final
15% – TPCs
45% – Projecto

Avaliação da Época de Recurso:
50% – Exame
50% – Projecto

Planned learning outcomes, teaching methods and assessment methods and criteria
The curricular unit is both theoretical and practical, switching between:??
Met. 1 – exposition,
Met. 2 – demonstration
Met. 3 – participation.

Continuous evaluation:
20% – Intermediate test
20% – Final test
15% – Homework assignments
45% – Project

Appeal evaluation:
50% – Exam
50% – Project

Demonstração da coerência das metodologias de ensino com os objectivos de aprendizagem da unidade curricular
Metodologia expositiva
Objetivos:
– Fornecer aos alunos um conjunto de conhecimentos alargados sobre algoritmos e estruturas de dados.
– Saber aplicar correctamente esses conhecimentos à linguagem Java tendo como referência os exemplos dados na aula.

Metodologia demonstrativa
Objetivo:
– Saber aplicar correctamente esses conhecimentos à linguagem Java tendo como referência os exemplos dados na aula.

Metodologia participativa
Objetivo:
– Saber aplicar correctamente esses conhecimentos à linguagem Java tendo como referência os exemplos dados na aula.

Demonstration of the teaching methodologies coherence with the curricular unit’s objectives
Exposure methodology
Goals:
1 – Provide students with knowledge about algorithms and data structures??
2 – Apply this knowledge to the Java programming language using the examples given in the course

Demonstration methodology
Goals:
– Apply this knowledge to the Java programming language using the examples given in the course ????
Participation methodology
Goal:
– Apply this knowledge to the Java programming language using the examples given in the course

Bibliografia Principal / Main Bibliography
Data structures & Algorithms in Java, Second Edition. Robert Lafore. SAMS

Universidade Lusófona


ECATI Escola de Comunicação, Arquitetura, Artes e Tecnologias da Informação

Departamento de Engenharia Informática e Sistemas de Informação
Edifício F, sala F.1.3
Direção — 217 515 500 (ext: 683)
Serviço de Apoio Tecnico-Admistrativo (SATA) — 17 515 500 (ext: 764)


Lisboa
Avenida do Campo Grande,
376 1749-024 Lisboa, Portugal
Tel.: 217 515 500 | email: info.cul@ulusofona.pt
Porto
Rua Augusto Rosa,
Nº 24, 4000-098 Porto - Portugal
Tel.: 222 073 230 | email: info.cup@ulusofona.pt

Gestão de conteúdos por Lucio Studer Ferreira © 2022 COFAC.