Programming Methods I

Year
1
Academic year
2025-2026
Code
01001179
Subject Area
Computation
Language of Instruction
Portuguese
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
7.5
Type
Compulsory
Level
1st Cycle Studies

Recommended Prerequisites

Knowledge of proposicional logic at high-school Mathematics level.

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 (von Neumann model), 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)

No

Syllabus

1. Basic structure and operation of a digital computer: the con Neumann model; computation representation of numerical and non-numerical data.

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

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

4. Programming methodology: modular and descent development of programs - Functions and parameter passing.

5. Introduction to recursive programming.

6. Sorting and its computational relevance.

Head Lecturer(s)

Sílvia Alexandra Alves Barbeiro

Assessment Methods

Continuous assessment
Resolution Problems: 20.0%
Frequency: 80.0%

Final assessment
Resolution Problems: 20.0%
Exam: 80.0%

Bibliography

Kernighan, Brian, & Ritchie, Dennis. 1988. The C Programming Language. 2nd edn. Prentice Hall.

J. Tremblay, J. Dedourex, R. Bunt, Introduction to Computer Science -an Algorithmic Approach., 2ed, McGraw-Hill, 1988.

Pedro Quaresma, Métodos de Programação I, DMUC, 2015.

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