Algorithms and Programming Fundamentals
Áreas Científicas |
Classificação |
Área Científica |
CNAEF |
Informatics Sciences |
Ocorrência: 2023/2024 - 1S
Ciclos de Estudo/Cursos
Docência - Responsabilidades
Língua de trabalho
Portuguese
Objetivos
Introduction to programming and algorithmic reasoning:
- Conceptual fundamentals and capacities related to the computer programming.
- Comprehension of concepts and basic principles of programming languages.
- Capacity of logic and formal reasoning that allows the analysis of simple and intermediate problems.
Resultados de aprendizagem e competências
- Comprehension and appreciation of the central role of the Algorithm;
- Capacity to code (implement) algorithms in programming languages;
- Capacity of teamwork.
Modo de trabalho
Presencial
Programa
1. Algorithms:
1.1 Algorithm concept;
1.2 Pseudocode;
1.3 Top-down approach.
2. Programming in a high-level programming language (C language):
2.1 Structure of a program;
2.2 Basic primitive data types;
2.3 Input and output statements;
2.4 Arithmetic and logic expressions;
2.5 Selection statements (if, if-else, switch-case);
2.6 Looping / iteration statements (while, do-while, for);
2.7 One-dimensional arrays. Sequence of characters;
2.8 Functions, parameters in C functions (pass by value, pass by reference) and return value; Variables and functions visibility. Local and global variables; Modular programming;
2.9 Structured data types;
2.10 Pointers;
2.11 Searching and sorting algorithms;
2.12 Files;
2.13 Two-dimensional arrays;
Bibliografia Obrigatória
Luís Damas; Linguagem C, FCA. ISBN: 9789727221561
Métodos de ensino e atividades de aprendizagem
The adopted method essentially focuses on the learning based on the resolution of practical cases, where the subjects of the discipline are directly applied.
The learning assessment will be realized throughout the semester by docents of the teaching unit, according to the proposed curricular plan.
The assessment system of this discipline includes formative and summative assessment modalities.
The formative assessment possesses a systematic and continuous character and is object of descriptive and qualitative notation throughout the semester period.
The summative assessment, which in this case will predominantly adopt practical tests, is expressed in the scale of zero to twenty values.
Software
VS Code (c/ extensão C/C++)
MinGW (suporte para GNU Compiler Collection em Windows)
Tipo de avaliação
Distributed evaluation with final exam
Componentes de Avaliação
Designation |
Peso (%) |
Exame |
50,00 |
Trabalho laboratorial |
50,00 |
Total: |
100,00 |
Componentes de Ocupação
Designation |
Tempo (Horas) |
Estudo autónomo |
73,00 |
Frequência das aulas |
90,00 |
Trabalho laboratorial |
80,00 |
Total: |
243,00 |
Obtenção de frequência
**CP** - Practical Component
Project - 50% (2 Phases - 20% + 30%)
**CT** - Theoretical Component
Exam - 50% (2 Tests - 2 x 25%)
In each test there is a minimum grade of 7.5 and 9.5 on average
In each phase of the Project there is a minimum grade of 7.5. The weighed average of the phases of the Project has a minimum grade of 9.5
There is a minimum grade of 9.5 in the Exams (Normal and/or Regular)
Fórmula de cálculo da classificação final
The final grade (NF) is calculated according to the following formula:
CT - Theoretical Component
CP - Practical Component
NF = (CT * 50%) + (CP * 50%)