filmeu

Disciplina Fundamentos de Programação

  • 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 como Linguagens de Programação I e II, Algoritmia e Estruturas de Dados, Programação Web, Computação Móvel, etc. 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.
  • 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.  
INSCRIÇÃO AVULSO
Lisboa 2020 Portugal 2020 Small financiado eu 2024 prr 2024 republica portuguesa 2024 Logo UE Financed Provedor do Estudante Livro de reclamaões Elogios