Saltar para o conteúdo principal

ISLA IPGT 22353

Programação Avançada

Desenvolvimento de Aplicações de Inteligência Artificial (CTSP) (ISLA - IPGT)
  • ApresentaçãoPresentation
    A unidade curricular de Programação Avançada aprofunda os conhecimentos de programação dos estudantes através da linguagem Python. Abrange a utilização de estruturas de dados, funções, bibliotecas e módulos, bem como o processamento de ficheiros e a identificação e correção de erros. Estas competências permitem criar programas para organizar e tratar dados e desenvolver aplicações de forma autónoma.
  • ProgramaProgramme
    Introdução ao Python Características, aplicações e configuração do ambiente. Fundamentos Sintaxe, entrada/saída, variáveis, tipos, operadores, conversão e formatação de dados, mutabilidade e notebooks. Bibliotecas Importação de módulos e instalação de pacotes pelo PyPI. Controlo e iteração Condições, ciclos for e while, break e continue. Estruturas de dados Listas e listas aninhadas; arrays com NumPy; conjuntos, dicionários, tuplos e compreensões de listas. Ficheiros e web Leitura e escrita de texto, CSV e JSON; HTML e web scraping. Funções Funções, geradores, lambda, map, filter e reduce. Módulos e pacotes Criação e disponibilização; Git, GitHub e PyPI. Linha de comandos Execução, argumentos, __name__ e main. Erros Testes, correção de erros e tratamento de exceções.
  • ObjectivosObjectives
    No final da unidade curricular, o estudante deverá ser capaz de: Instalar e configurar o ambiente de desenvolvimento e escrever programas em Python utilizando a sintaxe e os principais recursos da linguagem. Importar e utilizar bibliotecas adequadas à resolução de problemas. Automatizar tarefas através de estruturas condicionais e ciclos. Organizar e manipular dados com recurso a arrays, listas, conjuntos, dicionários e tuplos, incluindo compreensões de listas. Ler, processar e escrever ficheiros de texto, CSV e JSON, e extrair informação de páginas web através de técnicas de web scraping. Decompor problemas em funções reutilizáveis e utilizar funções anónimas quando adequado. Criar módulos e pacotes e executar programas a partir da linha de comandos. Identificar, testar e corrigir erros, utilizando mecanismos de tratamento de exceções.
  • BibliografiaBibliography
    COSTA, Ernesto - Programação em Python (2.ª Ed. Atualizada) - Fundamentos e Resolução de Problemas. Lisboa: Lidel, 2024. 632 p. ISBN 978-972-722-940-6. DOWNEY, Allen B. - Think Python. 3.ª ed. Sebastopol: O'Reilly Media, 2024. 328 p. ISBN 978-1-098-15542-1 (edição digital) LIANG, Y. Daniel - Introduction to Programming Using Python. 1.ª ed. Pearson, 2012. 592 p. ISBN 978-0-13-274718-9.  
  • MetodologiaMethodology
    A unidade curricular decorre em aulas teórico-práticas, nas quais a apresentação dos conceitos é acompanhada pela demonstração de exemplos e pela resolução de exercícios em Python. Os estudantes trabalham progressivamente com diferentes estruturas de dados, ficheiros e informação extraída da web, aplicando os conhecimentos a problemas concretos. As atividades incluem a decomposição de problemas em funções, a reutilização de módulos e o teste e correção dos programas desenvolvidos. O acompanhamento e o retorno regular do docente permitem identificar dificuldades e promover a autonomia na resolução de problemas.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Obrigatório
  • EstágioInternship
    Não
  • AvaliaçãoEvaluation

    Descrição

    Data limite

    Ponderação

    Teste de avaliação

    19-01-2027

    40%

    Entrega, apresentação e defesa do projeto em Python

    19/01/2027 (entrega); 26/01/2027 (apresentação e defesa)

    60%

    Exame de recurso

    ---

    100%

     

    A avaliação contínua inclui uma frequência, com um peso de 40% na nota final, e um projeto prático em Python, com apresentação e defesa oral, correspondente a 60%. Para obter aprovação nesta modalidade, o estudante deve alcançar uma classificação mínima de 8 valores em cada componente e uma classificação final ponderada igual ou superior a 10 valores. O teste de avaliação avalia a compreensão dos conteúdos e a capacidade de resolver problemas de programação. O projeto permite aplicar os conhecimentos na conceção e implementação de uma solução. Em alternativa à avaliação contínua, os estudantes que não obtenham aprovação podem realizar um exame escrito de recurso, com um peso de 100% na nota final.