-
Apresentação
Apresentação
Esta é uma disciplina fundamental na formação de qualquer profissional da área de Informática pois introduz os conceitos básicos da programação, sobre os quais assentarão muitas disciplinas subsequentes. 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 | 6
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
1 | Obrigatório | Português
-
Código
Código
ULHT6634-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, Gemini, 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