Disciplina Fundamentos de Programação

  • 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.

  • 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
Política de Cookies
Este website utiliza cookies para lhe proporcionar uma melhor experiência de navegação.
Aceitar
Lisboa 2020 Portugal 2020 Small Logo EU small Logo PRR republica 150x50 Logo UE Financed Provedor do Estudante Livro de reclamaões Elogios filmeu