Programming Methods I

Academic year
Subject Area
Language of Instruction
Mode of Delivery
ECTS Credits
1st Cycle Studies

Recommended Prerequisites

Good knowledge of High School Mathematics.

Teaching Methods

Theoretical-practical classes of expository style by the professor with the presentation of theoretical aspects and  examples. In practical classes students are asked to write programs on paper and to implement them on computers guided by the professor.

Learning Outcomes

Learning the basic mode of operation of a digital computer, how information can be represented in such a model and the practical implications of its limitations.

Learning to program in an environment of an imperative language.

Apprehend the structured and descent programming paradigm, i.e., it is intended to strengthen the algorithmic deductive reasoning, by seeing a program as a method of automatic resolution of a given problem.

The main competencies to be developed are: ability to use computational tools; ability for generalization and abstraction; ability to formulate and to solve problems; logical argument; critical spirit; calculation skills; knowledge of mathematical results; rigorous and clear written and oral expressions; individual initiative; communication skills.

Work Placement(s)



1. Basic structure and operation of a digital computer: the von Neumann model.

2. Computational representation of numerical and non-numerical data.

3. Algorithms and programs: programming as structured problem solving.

4. Introduction to imperative programming: elementary data types, variables and constants, arithmetic and logical 5. expressions. Control structures in imperative programming: sequence, decision, selection and loops. Tables and basic operations on their static representations. File manipulation.

5. Programming methodology: modular and descent development of programs - the notion of subprogram. Functions, procedures and parameter passing.

6. Sorting and its computational relevance.

7. Definition of structured data types.

8. Introduction to recursive programming.

Head Lecturer(s)

José Carlos de Gouveia Teixeira

Assessment Methods

Exam(100%) or Midterm exam (70%) + Test (30%): 100.0%


J. P. Martins, Introdução à Programação usando o Pascal, McGraw-Hill, 1994


J. Tremblay, J. Dedourex, R. Bunt, Introduction to Computer Science -an Algorithmic Approach. Pascal Edition, McGraw-Hill, 1989


M. Pascoal, Apontamentos de apoio a Métodos de Programação I, DMUC, 2013


R. G. Dromey, How to solve it by computer, Prentice-Hall, 1982