Algoritmos e Programação

Base Knowledge

Not applicable.

Teaching Methodologies

Learning strategy supported by the experimentation of the subject given in class, by developing software modules, with practical examples. The student’s success implies a continuous study both in and out of classes.
Theoretical classes – The subject presentation is supported by slides. The participation of students when applying the knowledge taught is done through the resolution of small programs to consolidate the concepts presented.
Practical classes – In the practical component, students develop software modules, with the support of exercise sheets, giving special emphasis on the phases of problem analysis and the development and implementation of the solution

Learning Results

Understanding and developing simple algorithms for concrete problems.

Understanding the formal aspects of a multiparadigm programming language and applying it to a set of problems. Development of small programs, understanding the code and interpretation of the results obtained.

Integration of individual and group skills in the development of small software projects.

Program

1. Introduction to algorithms and programming languages.
2. Methodologies and good programming practices.
3. Python programming language.

3.1. Basics.
3.2. Variables and data types.
3.3. Control and repeating structures.
3.4. Functions and modules.
3. 5. Introduction to the concept of object.
3.6. Strings and basic data structures: sets, arrays, lists, dictionaries, and tuples.
3.7. Reading and writing persistent data.
3.8. Search and sort algorithms.
3.9. Libraries for data manipulation and visualization
3.10 Search and selection of relevant algorithms.

Curricular Unit Teachers

Anabela de Jesus Gomes

Grading Methods

The assessment consists of 2 modules.


Module I is evaluated during the class period and has a weight of 8 out of 20 values.
The Module I assessment is written and oral, includes individual and group components, includes weekly follow-ups, and is conducted during class.

Module II is evaluated individually through an exam and has a weight of 12 out of 20, with a minimum requirement of 40%.

Each assessment moment may be subject to an oral examination.

Supplementary oral examinations may be used as an additional assessment tool whenever deemed necessary to resolve doubts or clarify situations suspected of fraud or plagiarism.

Final marks above 17 out of 20 require an oral presentation to defend the final classification obtained.

All students must attend at least two-thirds of the practical classes (total duration) in order to pass the course unit.

For working students or students with any special status provided for by law, the provisions of the law apply. The situation must be confirmed based on the information provided by Academic Services until the last day of classes.

The assessment is only valid for the academic year 2026/2027.


    Internship(s)

    NAO

    Bibliography

    Recommended Bibliography

    – Google’s Python Class. (n.d.). Retrieved 03 2021, from https://developers.google.com/edu/python/
    – How to Think Like a Computer Scientist: Learning with Python 3. (n.d.). Retrieved 03 2021, from https://openbookproject.net/thinkcs/python/english3e/
    – Python. (n.d.). Retrieved 03 2021, from https://www.python.org/
    – The Python Tutorial. (n.d.). Retrieved 03 2021, from https://docs.python.org/3/tutorial/index.html

    Complementary Bibliography

    – Baka, B. (2017). Python Data Structures and Algorithms. Packt Publishing.
    – Beazley, D., & Jones, B. K. (2013). Python Cookbook. O’Reilly Media, Inc.
    – Costa, E. (2015). Programação em Python – Fundamentos e Resolução de Problemas. FCA.
    – Downey, A. B. (2016). Think Python: How to Think Like a Computer Scientist (2 ed.). O’Reilly.
    – Guttag, J. V. (2021). Introduction to Computation and Programming Using Python: With Application to Computational Modeling and Understanding Data (3 ed.). The MIT Press.
    – Martins, J. P. (2020). Programação em Python. Introdução à programação utilizando múltiplos paradigmas. (4 ed.). Ist Press.