2025

Advanced Programming

Name: Advanced Programming
Code: INF13279D
6 ECTS
Duration: 15 weeks/156 hours
Scientific Area: Informatics

Teaching languages: Portuguese, English
Languages of tutoring support: Portuguese, English
Regime de Frequência: Presencial

Sustainable Development Goals

Learning Goals

Develop the students knowledge and skills of algorithmic thinking and programming, using languages directed for numerical computation.
Provide tools which make possible to write and implement computational codes with high complexity.
When finishing the course the student must be capable of developing a computer program allowing to solve an advanced engineering problem.

Contents

- Programming languages: The programming languages paradigms, sequential, object oriented. Examples using (according the most recent standards) Fortran, C, Java, Matlab and Phyton.
- Algorithms implementation: Data structure, problem subdivision, definition of classes and objects, definition of the computation sequence. Numerical libraries. Languages interoperability. Graphical interface and results visualization packages. Automatic code documentation.
- Parallel computing: Motivation. Fundamental aspects of parallel processing architectures. Parallelization of algorithms. Tools for message passing between processors. Performance issues. Examples. GRID. Libraries for numerical parallel processing.

Teaching Methods

The lectures combine theory and practice, which include time for questions and answers. Formative worksheets are administered on a regular basis. Students are responsible for studying the bibliography provided by the instructor. Depending on the topic, seminars focused on specific points of the syllabus may also be organized.

Assessment

Continuous Assessment:
* Short tests (3, throughout the semester, on current material): 50%
* Exam period test (covering the entire syllabus): 30%
* Final project: 20%

Final grade = 0.5 × Average of short tests + 0.3 × Final test + 0.2 × Project

The student passes if the final grade is greater than or equal to 10 (out of 20).
There is a minimum grade requirement of 7.5 (out of 20) both for the average of the short tests and for the final test.

Teaching Staff