ISLA Santarém 13397
Algorithms and Data Structures
-
ApresentaçãoPresentation
-
ProgramaProgramme1. Concepts of Algorithms and Data Structures: Analysis of algorithm efficiency. Asymptotic notations. 2. Dynamic data structures: Vectors and Matrices. Stacks, Queues, Lists. Trees and Graphs. Operations with structures (Insert, change, delete and sort). 3. Sorting and Search: Sorting: Bubble Sort, Quick Sort, Selection Sort, Insertion Sort, Shell Sort, Merge Sort. Search: sequential, binary, hashing; Comparison of algorithms. 4. Recursion: Basic concepts. Factorial Function, Fibonacci, Tail Recursion, other functions. Classic problems of recursive functions. 5. Implementation in JAVA: Layered model; Files, streams and serialization; Applications with database; Error handling.
-
ObjectivosObjectivesO1. Understand and apply fundamental algorithmic strategies to solve computational problems. O2. Evaluate the performance of iterative and recursive algorithms by analyzing their complexity. O3. Develop and test algorithms and data structures in a systematic way, using good practices of debugging, correction and robustness. C1. Be able to implement and utilize critical data structures such as arrays, arrays, lists, stacks, queues, and trees. C2. Apply search and sorting techniques in different programming contexts. C3. Design and implement solutions based on recursive programming. C4. Use the Java language to develop algorithms and data structures in an efficient and structured way.
-
BibliografiaBibliographyCampesato, O. (2023). Data Structures in Java. Stylus Publishing, LLC. Malhotra, D., & Malhotra, N. (2020). Data Structures and Program Design Using Java: A Self-Teaching Introduction. Mercury Learning and Information. La Rocca, M. (2021). Advanced Algorithms and Data Structures. Manning Publications. Rocha, A. M. A. (2014). ESTRUTURAS DE DADOS E ALGORITMOS EM JAVA, FCA, 2011 Wengrow, J. (2020). A Common-Sense Guide to Data Structures and Algorithms. Pragmatic Bookshelf.
-
MetodologiaMethodologySynchronous distance learning: 1. Use of student-centered methodologies, namely through the resolution of problems and challenges using gamification strategies. Face-to-face: 2. In the face-to-face sessions, the teacher will combine the methodological strategies of the flipped class (through which he will previously provide documents/videos with the contents to be addressed in the session) with gamification (in the classes, students are challenged to practical application to solve proposed exercises. Autonomous: 3. Resolution of additional exercises proposed by the teacher. The teacher provides feedback (Tutorial Guidance - OT) on the results obtained by the student in solving the proposed problems, in person in a classroom context or remotely in asynchronous mode via the Moodle platform
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureMandatory
-
EstágioInternshipNão
-
AvaliaçãoEvaluation
Avaliação Curricular (contínua):
A1. Portfólio de trabalhos/exercícios de aula.
A2. Trabalho prático (relatório e projeto).
A3. Teste final prático.
A classificação final é calculada através da fórmula Classificação Final = 0,2*A1+0,4*A2+ 0,4* A3.
O estudante é aprovado se obtiver classificação igual ou superior a 9,5 valores.
Avaliação Final ou em Época de Recurso ou Época Especial (A):
Hipótese 1:
A1. Portfólio de trabalhos/exercícios de aula. O estudante realizou os exercícios e obteve classificação positiva: mantêm a nota que será
considerada nestas épocas de avaliação.
A2. Trabalho prático (grupo). O estudante participou no trabalho de grupo e obteve classificação positiva na componente individual:
mantém a nota que será considerada nestas épocas de avaliação.
A3. Teste teórico/prático (individual). O estudante realiza este Teste em qualquer das épocas em que se submeta a avaliação.
A classificação final é calculada através da formula prevista na avaliação Curricular (contínua).
Hipótese 2:
O estudante não realizou trabalhos/exercícios de aula ou realizando obteve classificação negativa e/ou não participou no trabalho de grupo
ou participando obteve classificação negativa na componente de avaliação individual.
Avaliação Final, Avaliação em Época de Recurso/Especial (A): O estudante realiza o exame teórico-prático (A=100%) e é aprovado se
obtiver uma classificação igual ou superior a 9,5 valores em 20.
A classificação mínima na avaliação curricular (continua) a aplicar é a seguinte:- Portfólio/trabalhos e exercícios de aula: 10 valores- Trabalho prático (relatório e projeto): 10 valores.- Teste final prático (realizado no final da UC): 8 valores
A avaliação dos trabalhos práticos em grupo, inclui a avaliação individual dos estudantes que terá uma ponderação de 40% na
classificação do estudante nessa componente.


