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 Logo EU small Logo PRR republica 150x50 Logo UE Financed Provedor do Estudante Livro de reclamaões Elogios