Fundamentos de Programação e Algoritmos
Áreas Científicas |
Classificação |
Área Científica |
CNAEF |
Ciências informáticas |
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
Português
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
Resultados de aprendizagem e competências
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.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
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.
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.
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
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.
Software
CodeBlocks
Visual Studio Code
IDE DevC; GDB (online)
Palavras Chave
Ciências Físicas > Ciência de computadores > Programação
Ciências Físicas > Matemática > Algoritmos
Ciências Físicas > Ciência de computadores > Informática
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Designação |
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
Designação |
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
Testes - 60,0 % (2 testes)
Trabalho Prático Final – 40,0%
Nota final = MT1*30% + MT2*30% + TrabPF*40%
Restrições (20 Valores):
- T1>=8 e T2>= 8;
- Testes escritos combinados na proporção >= 9.5 valores, isto é, T1*25% + T2*25% >= 9,5 * 50% .
- TrabPF >= 9,5.