Fundamentos de Programação e Algoritmos
-
Conhecimentos de Base Recomendados
Conhecimentos básicos de matemática e algebra linear. Para o desenvolvimento dos projetos em simultaneo, os estudantes irão receber conhecimentos básicos de eletrónica.
-
Objetivos
A unidade curricular tem o objetivo de dotar os alunos de capacidade analítica que permita construir, desenvolver e adaptar algoritmos de modo a serem capazes de conceber soluções lógicas para problemas surgidos no âmbito da informática e contribuir assim, positivamente para a construção de software, individualmente ou integrados em equipas. Nomeadamente:
- Conhecer e compreender os diversos tipos de dados e a sua utilização
- Compreender as diversas estruturas de controlo e a sua aplicação na programação
- Conhecer e compreender as estruturas de dados e a sua aplicação em diversos contextos e ambientes de programação
O desenvolvimento de esta unidade curricular permitirá que os alunos sejam capazes de:
- Desenvolver algoritmos que permitam definir e estruturar a solução de problemas reais.
- Dominar os fundamentos da programação procedimental.
- Desenvolver o pensamento computacional.
- Implementar aplicações informáticas para automatizar a solução de problemas reais. -
Métodos de Ensino
A metodologia de ensino adotada é centrada no aluno, onde se pretende que o aluno seja o motor da sua aprendizagem. É seguido o modelo Aprendizagem Baseada em Problema/Projeto (PBL).
Os alunos são organizados em grupo e, com o apoio do docente, são incentivados à resolução de problemas concretos, deparando com desafio que irão sendo ultrapassados no decorrer desta aprendizagem ativa.
É dada relevância à discussão de ideias e resultados obtidos.
Os vários desafios/tarefas apresentados aos alunos deverão ser submetidos na Plataforma Moodle. -
Estágio(s)
Não
-
Programa
- Conceitos de Algoritmos. Pseudocódigo
- Ciclo de desenvolvimento de uma aplicação. Estrutura de um programa. Variáveis e constantes. Tipos de dados básicos. Atribuição. Expressões aritméticas lógicas.
- Escrita de mensagens e entrada de dados
- Estruturas de Controlo:
- Sequência
- Instruções de Seleção (if, if-else, switch)
- Instruções de Repetição (while, do-while, for)
5. Funções (subprogramas), parâmetros e valor de retorno
6. Vetores e Matrizes
7. Sequências de carateres
8. Noções do trabalho com ficheiros de texto
9. Noções de estruturas de dados, apontadores. -
Demonstração de conteúdos
-
-
Demonstração da metodologia
-
-
Docente(s) responsável(eis)
Fábio Ferrentini Sampaio - 2.º Trimestre
-
Bibliografia
Luis Damas; Linguagem C, FCA, 1999. ISBN: 9789727221561
Jeff Szuhay; Learn C Programming, Packt Publishing, 2020. ISBN: Learn C Programming
ANTÓNIO ADREGO DA ROCHA; Estruturas de Dados e Algoritmos em C, FCA. ISBN: 9789727222957
Detalhes do curso
-
Código
PWDAM10
-
Modo de Ensino
PRESENCIAL
-
ECTS
3.0
-
Duração
Trimestral
-
Horas
30h Teórico-Práticas
