2024
Programação I
Nome: Programação I
Cód.: INF13175L
6 ECTS
Duração: 15 semanas/156 horas
Área Científica:
Informática
Língua(s) de lecionação: Português
Língua(s) de apoio tutorial: Português
Regime de Frequência: Presencial
Objetivos de Desenvolvimento Sustentável
Objetivos de Aprendizagem
No final desta unidade curricular os alunos deverão ser capazes de:
* aplicar o processo de desenvolvimento de um programa: compreender problema, conceber o algoritmo, implementar o algoritmo e testar o código
* escolher as estruturas de controlo mais adequadas, definindo quais as condições de seleção e repetição
* desenhar e implementar funções e passagem de parâmetros com o objetivo de simplificar a solução de grandes problemas e promover o conceito de reutilização de código
* compreender o conceito de abstração de dados e a utilização de arrays e estruturas
* implementar programas que utilizem ficheiros sequenciais (entrada e saída)
* aplicar o processo de desenvolvimento de um programa: compreender problema, conceber o algoritmo, implementar o algoritmo e testar o código
* escolher as estruturas de controlo mais adequadas, definindo quais as condições de seleção e repetição
* desenhar e implementar funções e passagem de parâmetros com o objetivo de simplificar a solução de grandes problemas e promover o conceito de reutilização de código
* compreender o conceito de abstração de dados e a utilização de arrays e estruturas
* implementar programas que utilizem ficheiros sequenciais (entrada e saída)
Conteúdos Programáticos
Noção de algoritmo e instrução
Processo de edição, compilação e debug
IDEs e pseudo-código
Noção de constante e variável
Aritmética e expressões
Tipos básicos: inteiro, real, booleano, char
Instrução e atribuição
Estruturas de decisão: comparação, alternativas múltiplas, alternativas aninhadas
Estruturas de repetição: while, for, valores sentinela, ciclos aninhados
Funções: parâmetros e valores de retorno
Âmbito de variáveis e reutilização de funções
Arrays de uma e duas dimensões
Estruturas
Ficheiros de acesso sequencial
Recursividade
Processo de edição, compilação e debug
IDEs e pseudo-código
Noção de constante e variável
Aritmética e expressões
Tipos básicos: inteiro, real, booleano, char
Instrução e atribuição
Estruturas de decisão: comparação, alternativas múltiplas, alternativas aninhadas
Estruturas de repetição: while, for, valores sentinela, ciclos aninhados
Funções: parâmetros e valores de retorno
Âmbito de variáveis e reutilização de funções
Arrays de uma e duas dimensões
Estruturas
Ficheiros de acesso sequencial
Recursividade
Métodos de Ensino
Metodologias de ensino:
* Aulas teóricas com introdução de conceitos, resolução acompanhada de exercícios e esclarecimento de dúvidas.
* Aulas práticas laboratoriais com proposta de problemas que acompanham a matéria teórica e esclarecimento de dúvidas durante a sua resolução. Disponibilização de exercícios, de dificuldade gradual, cobrindo os tópicos ensinados, para os alunos praticarem a matéria.
* Aulas teóricas com introdução de conceitos, resolução acompanhada de exercícios e esclarecimento de dúvidas.
* Aulas práticas laboratoriais com proposta de problemas que acompanham a matéria teórica e esclarecimento de dúvidas durante a sua resolução. Disponibilização de exercícios, de dificuldade gradual, cobrindo os tópicos ensinados, para os alunos praticarem a matéria.
Avaliação
Avaliação contínua:
- 3 frequências (70%): 1a - 20%, 2a - 20% e 3a - 30%
- projeto (30%)
Avaliação final:
- exame final escrito (70%)
- projeto (30%)
- 3 frequências (70%): 1a - 20%, 2a - 20% e 3a - 30%
- projeto (30%)
Avaliação final:
- exame final escrito (70%)
- projeto (30%)
Bibliografia
Programming: Logic and Design, Comprehensive, 9th Edition. Joyce Farrell. Cengage
Clean Code: A Handbook of Agile Software Craftsmanship. Robert C. Martin. Prentice Hall
The C programming language, Kernighan & Ritchie
Introdução à programação usando C, António Rocha
Slides disponibilizados na plataforma de eLearning.
Conjunto de exercícios das aulas práticas.
Clean Code: A Handbook of Agile Software Craftsmanship. Robert C. Martin. Prentice Hall
The C programming language, Kernighan & Ritchie
Introdução à programação usando C, António Rocha
Slides disponibilizados na plataforma de eLearning.
Conjunto de exercícios das aulas práticas.