Skip to main content

ISLA IPGT 22353

Advanced Programming

Development of Artificial Intelligence Applications
  • ApresentaçãoPresentation
    The Advanced Programming course deepens students' programming knowledge through Python. It covers the use of data structures, functions, libraries and modules, as well as file processing and the identification and correction of errors. These skills enable students to create programs that organise and process data and to develop applications independently.
  • ProgramaProgramme
    Introduction to Python Features, applications and environment setup. Fundamentals Syntax, input/output, variables, types, operators, type conversion, data formatting, mutability and notebooks. Libraries Importing modules and installing packages from PyPI. Control flow and iteration Conditions, for and while loops, break and continue. Data structures Lists and nested lists; arrays with NumPy; sets, dictionaries, tuples and list comprehensions. Files and web Reading and writing text, CSV and JSON; HTML and web scraping. Functions Functions, generators, lambda, map, filter and reduce. Modules and packages Creation and distribution; Git, GitHub and PyPI. Command line Execution, arguments, __name__ and main. Errors Testing, debugging and exception handling.
  • ObjectivosObjectives
    By the end of the course, students should be able to: Install and configure a development environment and write Python programs using the language's syntax and main features. Import and use libraries suited to solving specific problems. Automate tasks using conditional statements and loops. Organise and manipulate data using arrays, lists, sets, dictionaries and tuples, including list comprehensions. Read, process and write text, CSV and JSON files, and extract information from web pages using web scraping techniques. Break problems down into reusable functions and use anonymous functions where appropriate. Create modules and packages and run programs from the command line. Identify, test and correct errors using exception handling mechanisms.
  • 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
    The course is taught through classes that combine theory and practice. Concepts are introduced through demonstrations and followed by Python programming exercises. Students progressively work with different data structures, files and information extracted from the web, applying their knowledge to practical problems. Activities include breaking problems down into functions, reusing modules, and testing and correcting the programs they develop. Regular guidance and feedback from the lecturer help students identify difficulties and become more independent in solving problems.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Mandatory
  • 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.