ISLA IPGT 22353
Advanced Programming
-
ApresentaçãoPresentationThe 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.
-
ProgramaProgrammeIntroduction 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.
-
ObjectivosObjectivesBy 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.
-
BibliografiaBibliographyCOSTA, 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.
-
MetodologiaMethodologyThe 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ínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureMandatory
-
EstágioInternshipNã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.


