This course provides the students with fundamental concepts concerning programming. In particular, the students will have the opportunity to develop and implement algorithms, experience programming as the construction of abstractions, and contact different programming paradigms.
The successful completion of the course will provide the students with mid-level familiarity with the Python programming language and the ability to develop and deploy computer projects using this language. The students will also be familiar with fundamental concepts within the programming activity.
• Algorithms, programs and processes. • Syntax and semantics. • Elementary data types. • Variables. Variable assignment. • Conditional execution. • Cycles. • Data input and output. • Functions. Procedural abstraction. • Top to bottom development. • Computing patterns: iteration and recursion. • Structured data types. • Lists. • Abstract data types. • Programming paradigms: functional programming; imperative programming; object-oriented programming.
J.P. Martins. Programação em Python : Introdução à Programação Utilizando Múltiplos Paradigmas, IST Press, 2013.
Evaluation is made on individual basis and it involves the coexistence of two modes: continuous assessment (60%) and
final evaluation (40%). Further information is detailed in the Learning Agreement of the course unit.