Accessibility
ISEL

Programming

Course: Biomedical Engineering
Curricular Unit (UC)

Programming

Mandatory  X
Optional  
Scientific Area  INF
Year: 1st Semester: 1st ECTS:  6 Total Hours: 150
Contact Hours T:30 TP: 30 PL: S: OT:2
Professor in charge

 Manuel Matos

T - Theoretical; TP - Theory and practice; PL - Laboratory; S - Seminar; OT - Tutorial.

  • Intended learning outcomes

    Meet the objectives of programming and its use in the context of Biomedical Engineering.

    • Understand different types of variables and learn to manipulate them.

    • Know how to use elementary functions and selection and repetition structures.

    • Learn to develop algorithms in a structured form.

    • Have contact with recent software tools for programming and development of algorithm in Biomedical Engineering.

  • Syllabus

    1. Introduction to computing. Historical introduction to computing. Processing units and communication infrastructure. Operating systems. High-level and low-level languages.

    2. Algorithmic. Theoretical concepts on algorithms: Algorithm, Pseudo-language, flowcharts. Data types and variables. Arithmetic and logical expressions; Sequential structures; repetition structures (repeat-until, while and for) and selection structures (if-then -else and switch-case). Implementation of Algorithms.

    3. Programming in Matlab. The environment of platform; homogeneous and heterogeneous variables. Vectors and matrices; Manipulation of indexed variables. String manipulation. Editing programs. Routines and functions; Preparation of graphics; Programming using objects; Construction of graphical environments; Programming with blocks; Development of programs in Matlab applied to biomedical engineering problems.

  • Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:

    The first chapter allows students to know the need to have developed programming languages as platforms for automated calculation. It is also focused on the connection of the hardware (I/O devices, processor and memory) with software (inputs, outputs, logical and arithmetic processing and data storage).

    In the second chapter are taught the fundamental concepts of algorithms, making known the various datatypes and the main programming structures

  • Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:

    The first chapter allows students to know the need to have developed programming languages as platforms for automated calculation. It is also focused on the connection of the hardware (I/O devices, processor and memory) with software (inputs, outputs, logical and arithmetic processing and data storage).

    In the second chapter are taught the fundamental concepts of algorithms, making known the various datatypes and the main programming structures.

    This chapter challenges students to structure their thinking, developing algorithms that solve computational problems.

    The applicability of the algorithms is made in the third chapter, where algorithms of problems applied to biomedical engineering are implemented in a programming language. For a correct application of the algorithm in programming language, students need to write the instructions respecting the syntax and sequence the instructions in a logical and coherent form.

  • Teaching methodologies

    The unit is divided in theoretical and practical classes, were 40% of classes are taught in the classroom and 60% are taught in the lab.

    The assessment is done through a project (NP), which is considered a pedagogically fundamental work, and continuous evaluation assessments (NAC) or a final exam (NE) for the students who cannot perform continuous evaluation.

    The final classification is calculated by: FC= 0,4* (NAC or NE) + 0,6* NP.

    Continuous evaluation consists of practical work performed in informatics laboratory.

    Essential conditions for approval:

    • In continuous evaluation, is required classification in all the assignments of a minimum of 8 points and  the average of the continuous evaluations equal or greater than 9,5 points.

    • In evaluation by exam, is required minimum classification of 9,5 points.

    • Submit all project’s deliverables within the time limits and to obtain a

    classification in project  greater or equal to 9,5 points.

     

  • Evidence of the teaching methodologies coherence with the curricular unit’s intended learning outcomes

    Theory and practical classes: 40% in classroom and 60% in IT Lab.

    During the first week, the lectures alternate with practical sessions, conducted in the IT Lab, allowing students to practice the manipulation of variables and algorithmic structures. After introducing the basic concepts, exercises are performed where students have to structure their thinking in order to develop algorithms and implement them using the syntax of the programming language.

    The practical assessments evaluate the theoretical knowledge acquired in algorithms and their application in a specific syntax such as: concepts of variable and algorithm, data types, selection and repetition structures, as well as the ability to apply mem in developing small applications.

    The project allows students to work together developing a computational algorithm with application in the field of Biomedical Engineering. From the problem analysis, data structures and algorithm development to implement

    unit’s intended learning outcomes:

    Theory and practical classes: 40% in classroom and 60% in IT Lab.

    During the first week, the lectures alternate with practical sessions, conducted in the IT Lab, allowing students to practice the manipulation of variables and algorithmic structures. After introducing the basic concepts, exercises are performed where students have to structure their thinking in order to develop algorithms and implement them using the syntax of the programming language.

    The practical assessments evaluate the theoretical knowledge acquired in algorithms and their application in a specific syntax such as: concepts of variable and algorithm, data types, selection and repetition structures, as well as the ability to apply mem in developing small applications.

    The project allows students to work together developing a computational algorithm with application in the field of Biomedical Engineering. From the problem analysis, data structures and algorithm development to implement

    in a programming language.

    The final exam is an alternative way to continuous evaluation; either for lack of required rate for approval, either by lack of attendance at classes, a factor that impedes the realization of continuous assessment.

     

  • Bibliografia principal

    Brassard, G.; Bratley, P. (1996) Fundamenta Is ofAlgorithms. Prentice-Hall. ISBN-13 9780133350685

    Thomas, H. C.; Ronald L. R.; Charles E. L.; Clifford 5. (1999) Introduction to Algoritms. MIT Press. 1999. ISBN-13 978-0262033848

    Morais, V. e Vieira, C. (2006) Matlab 7&6 - Curso Completo. FCA. ISBN 9789727223541

    Chapman, 5. .1. (2003) Programação em Matlab para engenheiros. Thomson. ISBN 8522103259