-
Apresentação
Apresentação
Esta é uma disciplina fundamental na formação de qualquer profissional com interesse na área de Informática pois introduz os conceitos básicos da programação, que é um dos pilares da Informática. Mais do que aprender uma linguagem de programação, o aluno aprende a pensar como um programador, analisando problemas e desenhando algoritmos que os resolvam recorrendo a fluxogramas e a programas escritos em Kotlin, uma linguagem promissora que combina as melhores características das linguagens modernas mais populares (Java, Python, etc.)
Dado ser o primeiro contacto de muitos alunos com o tópico da Programação, reveste-se de uma importância especial na aquisição de conhecimentos primordiais mas também na sua motivação. Mais do que aprender a programar, os alunos aprendem a gostar de programar.
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Licenciado | Semestral | 5
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
2 | Opcional | Português
-
Código
Código
ULHT24-7337
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
Conteúdos Programáticos
- Introdução à programação
- Algoritmos, fluxogramas, pseudo-código
- Sintaxe e semântica das linguagens
- Elementos da sintaxe, estrutura de um programa
- Declarações e atribuições
- Tipos primitivos
- Expressões aritméticas, expressões lógicas
- Entradas e saídas de dados
- Selecção
- Repetição
- Funções
- Arrays uni-dimensionais e bi-dimensionais
- Tratamento de erros
- Leitura e escrita de ficheiros
- Boas práticas de programação imperativa
-
Objetivos
Objetivos
O objectivo desta unidade curricular é fornecer aos futuros profissionais na área da informática as bases para que possam iniciar (de um modo disciplinado) a actividade de programação.
O aluno começa por desenvolver a capacidade de raciocínio algorítmico recorrendo a fluxogramas.
O aluno deverá ser capaz de traduzir esses fluxogramas numa linguagem de programação imperativa. Concretamente, o aluno deverá conhecer a sintaxe básica de Kotlin que lhe permitam criar programas simples de linha de comando.
Finalmente, o aluno deve conseguir analisar e avaliar programas feitos por outras pessoas (colegas, professores, etc.).
-
Metodologias de ensino e avaliação
Metodologias de ensino e avaliação
- As aulas teóricas são parcialmente leccionadas no modelo "flipped learning": são disponibilizados vídeos antes da aula teórica que os alunos devem visualizar; a aula teórica é maioritariamente ocupada com exercícios sobre essa matéria e respetiva correção, intercalada com alguma matéria adicional.
- Alguns trabalhos de casa são avaliados no modelo "peer assessment": os alunos avaliam anonimamente os trabalhos uns dos outros.
- A validação do código produzido nas fichas práticas e no projeto é feita através de uma ferramenta de validação automática do código, que permite aos alunos grande autonomia.
- Alguns exercícios de programação são realizados obrigatoriamente com o apoio de um LLM (ChatGPT, Bard, etc..). Estes exercícios terão enunciados adaptados, para evitar que seja simplesmente feito o copy/paste para o LLM - serão apresentados de forma visual, seja por diagramas seja por vídeos demonstrando o que se pretende. O objetivo é que os alunos treinem a construção de "prompts" eficazes.
-
Bibliografia principal
Bibliografia principal
-
Singh, B. (2015) Algorithm, Pseudocode and Flowchart: Learn Algorithm in Simple Steps.
-
Subramanian, V. (2019) Programming Kotlin. The Pragmatic Programmers.
-
-
Horário de Atendimento
Horário de Atendimento
-
Mobilidade
Mobilidade
Não