Introduction to algorithms and data structures  

Prerequisites Successful completion of the Foundations of Programming Course Objectives Learn to program using an imperative language, understanding the syntax and semantics of the language ANSI C. Learn basic sorting and searching algorithms. Learn to choose, create and use data structures suitable to the problems in question. Learn to develop iterative and recursive algorithms. Acquire notions of the complexity of the algorithms applied to solve a given problem in order to chose those that are more efficient. Program Introduction to imperative programming and to the C programming language. Introduction to algorithm complexity. Sorting algorithms: direct sort, selection sort, bubblesort, quicksort, mergesort. Data types: stacks, queues, priority queues and heaps. Searching in trees. Dynamic data structures. Binary trees. Balanced binary trees. Hash tables. Colision resolution by chaining and open addressing. Double hashing. Evaluation Methodology Exam (60%) + 2 Individual Projects + 1 Practical Test (40%). Cross-Competence Component There is no explicit component of soft-skills within this UC however the development of 2 individual projects will promote student's transversal competences in Critical Thinking and Intra-personal Competences. Laboratorial Component Programming Exercises to be developed every week following the subjects learned in lectures Programming and Computing Component This course is offered in a degree where the skills defined by the Computing and Programming Commission are already satisfied. More information at: https://fenix.tecnico.ulisboa.pt/cursos/lerc/disciplina-curricular/845953938490008
Presential
English
Introduction to algorithms and data structures
English

Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or HaDEA. Neither the European Union nor the granting authority can be held responsible for them. The statements made herein do not necessarily have the consent or agreement of the ASTRAIOS Consortium. These represent the opinion and findings of the author(s).