Go to:
Esta página em português Ajuda Autenticar-se
Formação Online da Biblioteca
Today is sunday
You are here: Start > EBE0165

Introduction to Scientific Programming

Code: EBE0165     Acronym: IPCOM

Classification Keyword
OFICIAL Basic Sciences

Instance: 2016/2017 - 1S Ícone do Moodle

Active? Yes
Web Page: https://moodle.fe.up.pt/course/view.php?id=2768
Responsible unit: Department of Electrical and Computer Engineering
Course/CS Responsible: Master in Bioengineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIB 92 Syllabus 1 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
Aurélio Joaquim de Castro Campilho

Teaching - Hours

Recitations: 2,00
Laboratory Practice: 2,00
Type Teacher Classes Hour
Recitations Totals 1 2,00
Aurélio Joaquim de Castro Campilho 2,00
Laboratory Practice Totals 4 8,00
Abel Jorge Antunes da Costa 4,00
Joaquim Gabriel Magalhães Mendes 4,00

Teaching language



This course unit aims to develop students’ knowledge and skills in computing principles, concepts and methods and it will be given a special emphasis to scientific and engineering applications.
It will also be covered the following themes: resolution of problems and programming techniques; fundamental algorithms and data structure; use of the computer in the resolution of scientific, engineering and in particular bioengineering problems.
This course unit also aims to familiarise students with MatLab, which is the tool that will be used.

Learning outcomes and competences

To contribute to develop the capacity of the students to program in Matlab, to work autonomously and in group, and to prepare written reports and program documentation.

Working method



1.1 Computer organisation
1.2 Use of computers in Bioengineering: examples
1.3 Computer representation of numbers

2.1 Introduction
2.2 Programming languages: objectives
2.3 Programming paradigms
2.4 Compilation and interpretation
2.5 Family of programming languages
2.6 Basic blocks in programming
2.7 Structured programming

3.1 Advantages and disadvantages of Matlab
3.2 Matlab environment
3.3 Vectors and matrices in Matlab
3.4 Functions
3.5 Introduction to graphic plotting

4.1 Introduction
4.2 Basic instructions
4.3 Complex instructions
4.4 Logic vectors and vectorization
4.5 Examples in Matlab

5.1 Introduction
5.2 Argument sharing
5.3 Global memory
5.5 Functions of functions
5.4 Applications

6.1 Complex data
6.2 String functions
6.3 Multidimensional data
6.4 Examples of application in Matlab

7.1 Read / write commands
7.2 Notions of register and file
7.3 Operations with files

8.1 Statistical Analysis
8.2 Introduction to biosignal processing algorithms
8.3 Introduction to image processing algorithms in biology and medicine

Mandatory literature

Fernando Martins; Prontuário do MATLAB, Edições FEUP
Chapman, Stephen J.; MATLAB programming for engineers. ISBN: 0-534-42417-1
S. R. Otto, J. P. Denier; An Introduction to programming and Numerical Methods in Matlab, Springer, 2005. ISBN: ISBN-10:1-85233-919-5; ISBN-13: 978-185233-919-7

Complementary Bibliography

The Math Works; Getting Started with Matlab
The Math Works; Matlab Application Toolbox

Teaching methods and learning activities

Theoretical-practical classes (TP)
Theoretical presentation and resolution of programming problems

Practical classes (P)
Laboratory classes of problem solving at the computer lab



Evaluation Type

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Teste 60,00
Trabalho laboratorial 40,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Elaboração de relatório/dissertação/tese 4,00
Estudo autónomo 28,00
Frequência das aulas 56,00
Trabalho laboratorial 24,00
Total: 112,00

Eligibility for exams

To be admitted to exams, students:
cannot miss more theoretical-practical and practical classes than allowed by the rules.
have to reach a minimum a grade of 50% in the laboratory assignments.

Students, who attended this course unit in the previous year, can keep their grades. They do not need to attend laboratory classes and carry out the four laboratory assignments. If they opt to attend laboratory classes, their previous grades will not be taken into account.

Calculation formula of final grade

Type of evaluation: Distributed without final exam

NF has 2 components:

- Lab component, with 2 assignments: 1 individual assignment in class (TP1) and the 2nd (TP2) in groups with the following weights: 40% and 60% , respectively. The laboratorial classifiction (CL) has the following expression:


CL= 0.4*TP1+0.6*TP2 (CL must be at last 9)

- Written component: two closed book tests (PE1 e PE2) in November and in January.

The expression for NF is:

if CL >= 9

NF=0.3*PE1+0.3*PE2+0.4*CL, if (PE1+PE2)/2 > 8

NF=0.5*PE1+0.5*PE2 if (PE1+PE2)/2 <= 8


if CL < 9 --> NF = CL

Examinations or Special Assignments

Students will have to attend two closed book tests and carry out two programming assignments.
Students, who do not reach a passing grade in the written component, can opt to attend the special test on the same date of the 2nd test,  which will cover the entire program. They should inform the professors about their decision.

Special assessment (TE, DA, ...)

They will be assessed as regular students.

Recommend this page Top
Copyright 1996-2021 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2021-03-07 at 18:39:31