Scientific Programing in Engineering

5 ECTS / Semester / Português

Objectives and competences

Teaching objectives

  1. Promote the interest in programming area to develop engineering problems solutions.

Expected results
The student should be able to:

  1. Recognize the need and the advantages of automatic information processing;
  2. Demonstrate knowledge about the basic mechanisms of procedural or imperative languages;
  3. Design algorithms for solving scientific problems in C and C++ languages from its description in natural language.
  4. Use tools to build, test and fix small programs.


Teaching Methodologies

Theoretical and practical classes with students’ permanent involvement.
In this course unit, learning is based on student’s active participation whose practical demonstration is carried out in all classes with computer programming concrete examples that culminate in a final practical project and exam, covering in this way all the proposed learning topics that are evaluated in the respective assessment components.



  1. Introduction to scientific programming
    - Computer programming
    - Programming Languages types and specificities
    - Stages of program development
  2. Structured language - C
    - C Language Fundamentals
    - Pointers
    - Arrays and Data Structures
    - Flow control
    - Test and conditions
    - Files and Concepts
    • Files
    • Dynamic memory and dynamic data structures
    • Preprocessor directives and program arguments
    • Enumerations
    - Applications
  3. Object-oriented language - C ++
    - Statements, constants and data types
    - Expressions, operators and functions
    - Classes definitions in C ++.
    - Arrays and object pointers.
    - Applications



Assistant Professor
He holds a PhD in Biomedical Engineering from the University of Porto and a MSc and BSc in Biomedical Engineering from the Polytechnic Institute of Bragança. He…