Go to:
Logótipo
You are here: Start > EBE0165

Introduction to Scientific Programming

Code: EBE0165     Acronym: IPCOM

Keywords
Classification Keyword
OFICIAL Basic Sciences

Instance: 2013/2014 - 1S Ícone do Moodle

Active? Yes
Web Page: https://moodle.fe.up.pt/1213/course/view.php?id=406#
E-learning page: https://moodle.fe.up.pt/
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 79 Syllabus 1 - 6 56 162

Teaching language

Portuguese

Objectives

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

Presencial

Program

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

2. INTRODUCTION TO PROGRAMMING
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 Blocks of programming
2.7 Structured programming
2.8 Algorithms

3. INTRODUCTION TO MATLAB
3.1 Advantages and disadvantages of Matlab
3.2 Matlab environment
3.3 Vectors and matrices in Matlab
3.4 Examples of Linear Algebra
3.5 Vectors, matrices and multivariate data
3.6 Functions
3.7 Introduction to graphic path

4. IMPERATIVE PROGRAMMING
4.1 Introduction
4.2 Basic instructions
4.3 Logic vectors and vectoring
4.4 Examples in Matlab

5. FUNCTIONS
5.1 Introduction
5.2 Argument running
5.3 Global memory
5.4 Data preservation
5.5 Functions of functions

6. DATA AND DATA STRUCTURES
6.1 Complex data
6.2 String functions
6.3 Multidimensional data
6.4 Sparse matrices
6.5 Cell matrices
6.6 Structure matrices
6.7 Examples of application in Matlab

7. INPUT-OUTPUT INSTRUCTIONS
7.1 Reading and writing commands
7.2 Notions of register and file
7.3 Operations with files

8. PROGRAMMING COMPLEMENTS AND EXAMPLES OF APPLICATION IN BIOENGINEERING
8.1 Sorting algorithm
8.2 Search algorithms
8.3 Examples of application in Bioengineering

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

Software

Matlab

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Teste 50,00
Trabalho laboratorial 50,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 3 assignments: 2 individual assignments in class (TP1 and TP2) and the 3rd (TP3) in groups with the following weights: 25% and 35% for the two first assignments and 40% for the third, that includes a written report. The laboratorial classifiction (CL) has the following expression:

 

CL= 0.25*TP1+0.35*TP2+0.4*TP3 (CL must be at last 9)

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

The expression for NF is:

if CL >= 9

NF=0.25*PE1+0.25*PE2+0.5*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 four 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-2025 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2025-06-27 at 17:27:14 | Acceptable Use Policy | Data Protection Policy | Complaint Portal