Foundations of Programming

« Return

Objectives

Provide knowledge about fundamental concepts related to programming activity, namely, algorithm, procedural abstraction and data abstraction, programming as construction of abstractions, programming paradigms. After attending the course, students should master the concepts presented and be able to develop programs in a high level programming language, Python.

Program

Computers, algorithms and programs. Programming languages. Syntax and semantics. Basic elements of programming. Elementary data types. Names and assignment. Communication with outside world. Programs, instructions and sequencing. Selection. Repetition. Functions. Procedural abstraction. Tuples and counted cycles. Strings. Lists. Recursive Functions. Higher orderfunctions. Functional programming. Recursion and iteration. Files, Dictionaries. Data abstraction. Abstract data types. Object-oriented programming.

Teaching Methodologies

Continuous assessment in practical classes
2 Programming Projects
1 Exam
The continuous evaluation component will have a weight >= 40%

Bibliography

Programação em Python: Introdução à programação com múltiplos paradigmas: João P. Martins 2013 IST Press

Code

01061094

ECTS Credits

6

Classes

  • Práticas e Laboratórios - 21 hours
  • Teóricas - 35 hours

Evaluation Methodology

  • According to Teaching Methods: 100%