Algorithms and Programming Fundamentals
Áreas Científicas |
Classificação |
Área Científica |
CNAEF |
Informatics Sciences |
Ocorrência: 2023/2024 - 2T
Ciclos de Estudo/Cursos
Sigla |
Nº de Estudantes |
Plano de Estudos |
Anos Curriculares |
Créditos UCN |
Créditos ECTS |
Horas de Contacto |
Horas Totais |
TSPCDA |
23 |
Plano de Estudos_2017_18 |
1 |
- |
3 |
- |
|
Docência - Responsabilidades
Língua de trabalho
Portuguese
Objetivos
The curricular unit has the objective to able students with the analytical capacity to construct, develop and adapt algorithms in order to be able to conceive logical solutions for problems arising in the scope of computer sciences and thus contribute positively to the construction of software, individually or integrated in teams. In specific:
- Know and understand the various types of data and their use.
- Understand the various control structures and their application for programming.
- Know and understand the data structures and their application in several contexts and programming environments.
Resultados de aprendizagem e competências
The development of this curricular unit will enable students to:
- Develop algorithms allowing to define and structure the solution of real problems.
- Know the fundamentals of procedural programming.
- Develop the computational thinking
- Implement software applications to automate the solution of real problems.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Basic knowledge of mathematics and linear algebra. For the development of the projects simultaneously, the students will receive basic knowledge of electronics.
Programa
1. Algorithms. Pseudocode.
2. Development cycle of an application. Structure of a program. Variables and constants. Basic data types. Assignment. Logical arithmetic expressions.
3. Message writing and data entry.
4. Control Structures:
- Sequence
- Conditional Instructions (if, if-else, switch)
- Repetition Instructions (while, do-while, for)
5. Functions (subprograms), parameters and return value
6. Vectors and arrays
7. Strings
8. Notions of work with text files
9. Notions of data structures, pointers.
Bibliografia Obrigatória
Jeff Szuhay; Learn C Programming, Packt Publishing, 2020. ISBN: Learn C Programming
Bibliografia Complementar
Luis Damas; Linguagem C, FCA, 1999. ISBN: 9789727221561
ANTÓNIO ADREGO DA ROCHA; Estruturas de Dados e Algoritmos em C, FCA. ISBN: 9789727222957
Métodos de ensino e atividades de aprendizagem
The teaching methodology adopted is student-centered, where it is intended that the student is the driving force behind his or her learning. The Problem/Project Based Learning (PBL) model is followed.
Students are organized in groups and, with the support of the teacher, are encouraged to solve concrete problems, facing challenges that will be overcome in the course of this active learning.
Emphasis is given to the discussion of ideas and results obtained.
The various challenges/tasks presented to students should be submitted on the Moodle Platform.
Software
CodeBlocks
Visual Studio Code
IDE DevC; GDB (online)
Palavras Chave
Physical sciences > Computer science > Programming
Physical sciences > Mathematics > Algorithms
Physical sciences > Computer science > Informatics
Tipo de avaliação
Distributed evaluation without final exam
Componentes de Avaliação
Designation |
Peso (%) |
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese |
40,00 |
Teste |
60,00 |
Total: |
100,00 |
Componentes de Ocupação
Designation |
Tempo (Horas) |
Elaboração de projeto |
35,00 |
Elaboração de relatório/dissertação/tese |
8,00 |
Estudo autónomo |
40,00 |
Frequência das aulas |
30,00 |
Trabalho de investigação |
10,00 |
Trabalho escrito |
2,00 |
Trabalho laboratorial |
15,00 |
Total: |
140,00 |
Obtenção de frequência
9,5/20
Fórmula de cálculo da classificação final
Tests - 60,0 % (2 tests)
Final work (practical) – 40,0%
Final Grade = MT1*30% + MT2*30% + TrabPF*40%
Restrictions (Maximum grade = 20.0):
- T1>=8 e T2>= 8;
- Written tests combined >= 9.5 valores (T1*25% + T2*25% >= 9,5 * 50%)
- Final work >= 9,5.