Programming I

TeSP - Automação Industrial

5 ECTS; 1º Ano, 1º Semestre, 60,0 TP


Not applicable.

Encourage the ability to understand the techniques and basic rules of programming languages, to develop an increased ability to learn new programming languages, as well as an increased ability to design and develop software;
Provide trainees with knowledge about the logical functioning of a program, stimulating logical reasoning to solve programming problems;
Develop the student's ability to create software solutions that can fill existing needs.

Introduction to computer science and programming: Physical organization of a computer, concept of algorithm, structured programming;
The C / C++ language, basic elements: general structure of a program, elements of a program, data types, constants, variables;
Operators and expressions;
Decision structures;
Repetition structures;
Functions: concept of a function, structure of a function, parameters of a function;
Vectors and matrices;
Pointers (Pointers).

Evaluation Methodology
Continuous Evaluation (AF=0.2xNp+0.8xNe):
- Written assessment (Ne-80%): Weighted average of mandatory written tests (70%); and evaluation forms (10%);
- Practical assessment (Np - 20%): Resolution, discussion and/or discussion of project programming exercises.
Students with AF>=10 values will be exempted from the exam and approved.
Exam evaluation (AE=0.2xAF+0.8xApee): The final evaluation by exam corresponds to the weighted average of the continuous evaluation (AF - 10%) with the classification of a written exam test (Apee - 90%).

- Aguilar, L. (2008). Fundamentos de Programação: Algoritmos, Estruturas de Dados e Objetos. -: McGraw Hill
- Damas, L. (1999). Linguagem C. Portugal: FCA
- Ritchie, D. e Kerninghan, B. (1988). The C Programming Language. -: Prentice Hall
- Autores, V. (0). Vários apontamentos, fichas de exercícios e documentos de apoio à Unidade Curricular. Acedido em 1 de novembro de 2020 em

Method of interaction
Theoretical-Practical Lectures: Theoretical concepts presentation and simple practical examples regarding the syllabus.
Practical exercises of increasing complexity solved in class to consolidate knowledge.

Software used in class
Algorithmi e CodeBlocks (C Language Compiler)