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

    Metodologias de ensino

    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.  
  • Avaliação

    Avaliação

    Época de avaliação contínua

    • Componente teórica (50% da nota final, nota mínima 9,5) - tem duas opções: avaliação contínua ou apenas uma frequência completa
      • Avaliação contínua:
        • 4 TPCs teóricos individuais - 20%
        • Frequência intermédia (primeira metade da matéria) - 30% - nota mínima: 8
        • Frequência completa (toda a matéria) - 50% - nota mínima: 8 (apenas para quem passou na frequência intermédia)
      • Frequência completa (toda a matéria) - 100% - nota mínima: 9,5
    • Componente prática (50% da nota final, nota mínima 9,5)
      • 2 testes práticos individuais - 24% (testes feitos durante a aula prática)
      • Participação prática - 16%
      • Projeto em grupos de 2, com defesa individual - 60%
        • A defesa inclui alterações no código da aplicação que cada aluno terá que fazer individualmente.
        • A nota da discussão presencial pode ir de 0 a 100% e é aplicada à nota do projecto
        • O aluno terá que conseguir fazer pelo menos metade das alterações pedidas para passar na componente prática.

    Época de recurso e época especial

    • Exame (50% da nota final, nota mínima 9,5)
    • Projeto (50% da nota final, nota mínima 9,5)

    Transição de notas

    • As notas das componentes teórica e prática transitam automaticamente entre épocas do mesmo ano letivo. Isto é, se o aluno teve nota superior a 9,5 numa das componentes e reprovou na outra componente em avaliação contínua, apenas precisa de repetir a componente reprovada em época de recurso/especial.
    • Dado não ter havido mudança de conteúdos, as notas das componentes aprovadas em 2024/25 podem transitar para 2025/26. Para tal, o aluno tem que solicitar por email essa transição e nesse caso, não pode repetir a avaliação da componente aprovada. Não haverá transição de notas de outros anos letivos.
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