Desenho de Algoritmos Usando Python
Description
Objectives
The objective is to consolidate the student’s knowledge in algorithms and data structures in a high-level language that allows a focus in the algorithmic components of the computational solution. It is intended to provide the students with sufficient knowledge to build medium size programs with efficient data manipulation.
Syllabus
Programming elements in Python. Functions, abstraction, modules and object programming in Python. Search and sorting algorithms. Elementary data structures. Algorithm efficiency. Algorithms for discrete structures. Design of algorithms: divide and conquer, dynamic programming and greedy algorithms. Advanced topics: programming with restrictions, approximation algorithms and stochastic algorithms.
Cross Competence Component
There is no explicit component of soft-skills within this course. However, the development of 2 projects will promote student's transversal competences in Critical Thinking and Intra-personal Competences.
Laboratorial Component
Development of computational solutions to previously defined problems.
Programming And Computing Component
All the course is focused on programming and computing.
Ethical Principles
All members of a group are responsible for the group’s work In any assessment, every student shall honestly disclose any help received and sources used. In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.