Offerta Didattica

 

INGEGNERIA BIOMEDICA

FONDAMENTI DI INFORMATICA

Classe di corso: L-8 - Ingegneria dell'informazione
AA: 2022/2023
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
ING-INF/05BaseLiberaLibera
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
128049648048
Legenda
CFU: n. crediti dell’insegnamento
CFU LEZ: n. cfu di lezione in aula
CFU LAB: n. cfu di laboratorio
CFU ESE: n. cfu di esercitazione
FREQUENZA:Libera/Obbligatoria
MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli
ORE: n. ore programmate
ORE LEZ: n. ore programmate di lezione in aula
ORE LAB: n. ore programmate di laboratorio
ORE ESE: n. ore programmate di esercitazione
SSD:sigla del settore scientifico disciplinare dell’insegnamento
TAF:sigla della tipologia di attività formativa
TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio

Obiettivi Formativi

Modulo A Fornire le conoscenze di base degli aspetti teorici e pratici dell'informatica moderna con particolare riferimento alle principali problematiche relative alla rappresentazione e alla elaborazione dell’informazione nei calcolatori elettronici. Trasmettere agli studenti una forma di pensiero computazionale ovvero la capacità di pensare in maniera algoritmica. Lo studente sarà reso in grado di analizzare un problema complesso, suddividerlo in sotto-problemi e progettare semplici algoritmi per la loro risoluzione. Favorire lo sviluppo dell’autonomia dello studente che sarà reso in grado di utilizzare in maniera consapevole i moderni strumenti informatici selezionando opportunamente tra quelli a disposizione i più adatti per la risoluzione del problema considerato. Far acquisire la terminologia di base dell’informatica moderna e la capacità di interloquire con linguaggio tecnico appropriato alla disciplina. Sviluppare nello studente un metodo di studio individuale adeguato a consentire l’approfondimento delle conoscenze acquisite e lo studio di altre discipline di base o specialistiche dell’ambito dell’ingegneria dell’informazione Modulo B Fornire le conoscenze di base degli aspetti teorici e pratici dell'informatica moderna con particolare riferimento alle principali problematiche relative all’acquisizione, trasmissione, immagazzinamento, visualizzazione dati nei sistemi informativi basati sull’uso di dispositivi integrati o discreti per il calcolo automatico. Trasmettere agli studenti una visione d’insieme dei sottosistemi e componenti di un sistema informativo, a partire da calcolatori e/o dispositivi integrati, autonomi o connessi in rete, favorendo così lo sviluppo della capacità di analizzare e realizzare sistemi informativi completi. Lo studente sarà reso in grado di analizzare un insieme di requisiti per individuare approcci ed elementi costitutivi per la realizzazione di un sistema informativo adeguato a supporto. Favorire lo sviluppo dell’autonomia dello studente che sarà reso in grado di utilizzare in maniera consapevole i moderni sistemi informativi e alle basi di dati, selezionando opportunamente tra quelli a disposizione i più adatti per la risoluzione del problema considerato. Far acquisire la terminologia di base dei sistemi informativi moderni e la capacità di interloquire con linguaggio tecnico appropriato alla disciplina. Sviluppare nello studente un metodo di studio individuale adeguato a consentire l’approfondimento delle conoscenze acquisite e lo studio di altre discipline di base o specialistiche dell’ambito dell’ingegneria dell’informazione.

Learning Goals

Module A  Provide basic knowledge of the theoretical and practical aspects of modern computing with particular reference to the main problems related to the representation and processing of information in electronic computers.Transmit to students a form of computational thinking, i.e., the ability to think algorithmically. The student will be able to analyze a complex problem, divide it into sub-problems and design simple algorithms for their resolution.Encourage the development of the student's autonomy making them able to use modern IT tools in a conscious way, selecting appropriately, among those available, the most suitable for solving the problem under consideration.Acquire the basic terminology of modern information technology and the ability to speak with technical language appropriate to the discipline.Develop in the student an individual study method suitable to allow the deepening of the knowledge acquired and the study of other basic or specialist disciplines in the field of information engineering. Module B Provide basic knowledge of the theoretical and practical aspects of modern computing with reference to the main problems related to the acquisition, transmission, storage, visualization of data in information systems based upon use of embedded or discrete computing devices.Convey an overview of the subsystems and components of IT systems to students, built upon computers and/or embedded systems, either standalone or networked, thus fostering the development of the ability to analyze and implement comprehensive IT systems. The student will be able to analyze a set of requirements to identify approaches and building blocks to implement a suitable IT system for the problem at hand.Encourage the development of the student's autonomy making them able to use modern IT systems and databases in a conscious way, selecting appropriately, among those available, the most suitable for solving the problem under consideration.Acquire the basic terminology of modern information technology and the ability to speak with technical language appropriate to the discipline.Develop in the student an individual study method suitable to allow the deepening of the knowledge acquired and the study of other basic or specialist disciplines in the field of information engineering

Metodi didattici

Il corso, al fine di raggiungere gli obiettivi formativi previsti, si svolge prevalentemente attraverso lezioni frontali in aula. Sono inoltre previste esercitazioni in classe, anche in aula informatica, in entrambi i casi guidate dal docente, con lo scopo di stimolare la capacità di applicare la conoscenza acquisita durante le lezioni teoriche. In particolare, le esercitazioni in aula consentiranno agli studenti di prendere manualità con i principi di base della programmazione. Tutte le attività sono svolte con supporto di slide delle lezioni.

Teaching Methods

To achieve the expected training objectives, the course takes place mainly through classroom lectures. Planned are also exercises in the classroom, as well as practical-based lessons in the computer room, in both cases led by the teacher, with the aim of fostering the ability to apply the knowledge acquired during the theoretical lessons. In particular, exercises and practical-based lessons will allow students to learn the basic principles of programming. All activities are carried out with the support of lecture slides.

Prerequisiti

Conoscenze di base di analisi matematica, geometria e logica matematica

Prerequisites

Basic knowledge of mathematical analysis, geometry and mathematical logic

Verifiche dell'apprendimento

Il corso prevede due prove in itinere, un’attività di progettazione sotto forma di realizzazione di un programma in MATLAB ed una prova orale. La prima prova in itinere (con domande a risposta multipla e aperta) verte sugli argomenti relativi alla prima parte del modulo A del corso e mira a verificare che gli studenti abbiano acquisito le conoscenze di base relative all’informatica moderna. La seconda prova in itinere (con domande a risposta multipla e aperta) verte sugli argomenti relativi alla seconda parte del modulo A del corso e mira a verificare che gli studenti abbiano acquisito le conoscenze teoriche di base relative al linguaggio C. Per entrambe le prove la valutazione è espressa in trentesimi. Le due prove si tengono rispettivamente nei periodi di Novembre e Gennaio (in date che vengono concordate durante le lezioni con gli studenti). Superate le prove in itinere, esse hanno validità per tutto l’anno accademico entro il quale dovrà essere sostenuta la prova finale e ad ogni appello di esami gli studenti hanno la possibilità di recuperare eventuali prove in itinere non superate. L’attività di progettazione ha l’obiettivo di consentire agli studenti di dimostrare di aver acquisito la capacità di valutare e selezionare gli approcci disponibili per la soluzione di un problema nonché la capacità di progettare e implementare un programma in MATLAB mediante l’applicazione delle metodologie apprese. L'argomento dell’attività di progettazione, inerente applicazioni in ambito biomedico, viene concordato con il docente prima dell’avvio dell’attività stessa. L’attività di progettazione viene sottoposta al giudizio del docente che potrà approvare o respingere il progetto. Gli studenti per i quali il progetto viene approvato sono ammessi alla prova orale che possono svolgere in un qualunque appello dell’anno accademico. L’obiettivo di tale prova è di verificare la capacità dello studente di comunicare le motivazioni delle scelte tecniche adottate durante l’attività di progettazione nonché il livello di conoscenza acquisito dallo studente sugli argomenti del modulo B del corso. In particolare, gli studenti saranno chiamati a dimostrare di saper progettare una base dati e di sapere impiegare un’ambiente come MATLAB per relative interazioni nel proprio codice, come discusso a lezione. Il voto finale è espresso in trentesimi e tiene conto dei voti conseguiti durante le due prove in itinere, della complessità dell’attività di progettazione e della qualità della prova orale.

Assessment

The course includes two ongoing tests, a design activity in the form of the creation of a program in MATLAB and an oral exam. The first ongoing test (with multiple-choice and open-answer questions) focuses on the topics related to the first part of module A of the course and aims to verify that students have acquired basic knowledge relating to modern computer science. The second ongoing test (with multiple-choice and open-answer questions) focuses on the topics related to the second part of module A of the course and aims to verify that the students have acquired the basic theoretical knowledge relating to the C language. For both tests, evaluation is out of thirty. The two tests are held respectively in the periods of November and January (on dates that are agreed upon during the classes with the students). Once the ongoing tests have been passed, they are valid for the entire academic year, by which the final test must be taken, and at each exam session students have the chance to recover any unsuccessful ongoing tests. The design activity aims to allow students to demonstrate that they have acquired the ability to evaluate and select the approaches available to solve a problem as well as the ability to design and implement a program in MATLAB by applying the methodologies learned. The topic of the design activity, related to applications in the biomedical domain, must be agreed with the teacher before the inception of any such activity. The design activity is subjected to the evaluation of the teacher who can approve or reject the project. Students for whom the project is approved are admitted to the oral exam which they can take in any session of the academic year. The objective of this test is to verify the ability of the student to communicate the reasons for the technical choices made during the design activity as well as the level of knowledge acquired by the student on the topics of module B of the course. More specifically, students will be asked to demonstrate that they know how to design a database and how to use an environment such as MATLAB for related interactions in one’s own code, as discussed during classes. The final grade is expressed out of thirty and takes into account the marks obtained during the two ongoing tests, the complexity of the design activity and the quality of the oral exam.

Programma del Corso

------------------------------------------------------------ Modulo: 192/1 - FONDAMENTI DI INFORMATICA A ------------------------------------------------------------ - FONDAMENTI DELL’INFORMATICA MODERNA: Introduzione all'informatica. Il calcolatore elettronico, macchina di Von Neumann. Gerarchie di memorie. Sistemi numerici posizionali. Sistema binario. Conversioni di base. Operatori aritmetici nel sistema binario. Algoritmi, dati ed istruzioni, programmazione strutturata, Teorema di Böhm-Jacopini. Codifica degli algoritmi, linguaggio naturale, linguaggio di programmazione, pseudo-codice. Diagrammi di flusso. Algebra booleana. Linguaggi e grammatiche. Grammatiche formali. Backus-NaurForm (BNF). Linguaggi di programmazione: linguaggio macchina, Assembler, linguaggi di alto livello. Compilatori ed interpreti. Compilatori per linguaggio C, GCC. - IL LINGUAGGIO C: Caratteristiche del linguaggio C, struttura di un programma C, principali librerie. Tipi di dato, tipi elementari. Stringhe e I/O da terminale. Operatori ed espressioni, precedenza ed associatività, overloading degli operatori, conversioni di tipo. Istruzioni semplici, istruzioni di controllo, blocchi, regole di visibilità. Costrutto if e costrutto switch-case. Costrutti while, do-while e for. Tipi di dato strutturato in C. Array: definizione, operatori, inizializzazione. Gestione della memoria, Heap. Puntatori e loro operatori. Implementazione di array con puntatore. Le strutture. Tipi enumerativi. Le unioni. Tipi di dato definiti dall'utente. Le funzioni. Passaggio dei parametri per valore e per riferimento, utilizzo dei puntatori. Gestione dei file, file di testo e binari, canali standard, uso dei buffer. ------------------------------------------------------------ Modulo: 192/2 - FONDAMENTI DI INFORMATICA B ------------------------------------------------------------ - SISTEMI DI ELABORAZIONE DELL’INFORMAZIONE: Sistemi di codifica – ICD9, ICD9-CM, ICD10, ATC, LOINC. Sistemi terminologici – SNOMED. Metatesauri – UMLS. Sistemi di standardizzazione della comunicazione – HL7. Sistemi informativi e reti di calcolatori in sanità, struttura ed elementi fondamentali dei sistemi informativi sanitari. UML – diagrammi dei casi d'uso, di attività e di sequenza. Cenni di sistemi operativi – virtualizzazione, sistemi UNIX, scripting con la shell. Reti di calcolatori – la pila ISO/OSI, Ethernet, TCP/IP, Internet e i protocolli HTTP/HTTPS, i linguaggi di markup, sicurezza e privacy, firma digitale. MATLAB – l’ambiente di calcolo numerico, manipolazione dati e visualizzazione, il linguaggio di programmazione, i toolbox, vettori e matrici, celle e strutture, strutture di controllo, funzioni, grafici, accesso a file in lettura e scrittura, espressioni regolari, sviluppo di interfacce utente grafiche, scrittura e lettura di documenti formattati (CSV, XLS, XML), il toolbox Bioinformatics. - BASI DATI: Struttura generale e funzionalità della cartella clinica, benefici della sua digitalizzazione. Il modello relazionale per le basi di dati. Concetti di relazione, chiave, chiave esterna, ridondanza, dipendenza (funzionale, funzionale completa, mutua, multipla) fra attributi, forme normali. Modelli per la rappresentazione dei dati: diagramma delle dipendenze, modello Entità- Relazione (E-R), passaggio dai modelli alle relazioni normalizzate. Cenni di algebra relazionale. Linguaggio SQL per l’interrogazione dei database relazionali. Casi d’uso – semplice cartella clinica, con particolare riguardo alla distinzione fra dati statici e dati tempo-varianti, all’uso di codifiche, agli standard (DRG, ICD9-CM, farmaci e principi attivi). Accesso alle basi dati da MATLAB. Interrogazioni mediante SQL per la creazione di report (es., lettera di dimissione) e statistiche descrittive semplici. Cenni di analisi statistica con MATLAB – map-reduce.

Course Syllabus

------------------------------------------------------------ Modulo: 192/1 - FONDAMENTI DI INFORMATICA A ------------------------------------------------------------ - FUNDAMENTALS OF MODERN COMPUTERS: Introduction to computer science. The electronic calculator, Von Neumann's machine. Memory hierarchies. Positional number systems. Binary system. Basic conversions. Arithmetic operators in the binary system. Algorithms, data and instructions, structured programming, Böhm-Jacopini theorem. Coding of algorithms, natural language, programming language, pseudo-code. Flowcharts. Boolean algebra. Languages ​​and grammars. Formal grammars. Backus-Naur Form (BNF). Programming languages: machine language, Assembler, high-level languages. Compilers and interpreters. Compilers for C language, GCC. - THE C LANGUAGE: Features of the C language, structure of a C program, main libraries. Types of data, elementary types. Strings and terminal I/O. Operators and expressions, precedence and associativity, operator overloading, type conversions. Simple instructions, control instructions, blocks, visibility rules. If construct and switch-case construct. While, do-while and for constructs. Types of structured data in C. Array: definition, operators, initialization. Memory Management, Heap. Pointers and their operators. Pointer array implementation. Structures. Enumerative types. Unions. User-defined data types. Functions. Passing parameters by value and by reference, using pointers. File management, text and binary files, standard channels, use of buffers. ------------------------------------------------------------ Modulo: 192/2 - FONDAMENTI DI INFORMATICA B ------------------------------------------------------------ - INFORMATION PROCESSING SYSTEMS: Coding systems – ICD9, ICD9- CM, ICD10, ATC, LOINC. Terminology systems – SNOMED. Metathesauri – UMLS. Communication standards – HL7. Information systems and computer networks in healthcare, structure and basic elements of healthcare information systems. UML – use case, activity and sequence diagrams. Basics of operating systems – virtualization, UNIX systems, shell scripting. Computer networks – ISO/OSI stack, Ethernet, TCP/IP, Internet and the HTTP/HTTPS protocols, markup languages, security and privacy, digital signature. MATLAB – numerical analysis, data processing and visualization environment, programming language, toolboxes, vectors and matrices, cells and structures, control structures, functions, plotting, read/write file access, regular expressions, development of graphical user interfaces, reading and writing structured documents (CSV, XLS, XML), the Bioinformatics toolbox. - DATABASES: Overall structure and function of medical records, benefits of their digitalization. Relational model for databases. Concepts of relation, key, foreign key, redundancy, (functional, mutual, multi) dependency among attributes, normal forms. Data representation models: dependency diagram, Entity-Relationship (E-R) model, model transformation to normalized relations. Basics of relational algebra. SQL language for querying relational databases. Use cases – basic medical record, differentiating between static and time-varying data, usage of coding systems and standards (DRG, ICD9-CM, drugs and active substances). Access to databases from MATLAB. SQL queries to generate reports (e.g., discharge letter) and simple descriptive stats. Basics of statistical analysis with MATLAB – map-reduce.

Testi di riferimento: ------------------------------------------------------------ Modulo: 192/1 - FONDAMENTI DI INFORMATICA A ------------------------------------------------------------ - B. Kernighan, D. Ritchie, “Il linguaggio C - Principi di programmazione e manuale di riferimento.”, II edizione, Pearson, 2018. - R. Sedgewick, “Algoritmi in C.”, IV edizione, Pearson, 2015 - S. Berretti, L. Carnevali, E. Vicario, “Fondamenti di Programmazione – linguaggio C, strutture dati e algoritmi elementari, C++.” IV edizione, Esculapio, 2017 - L. Mari, G. Buonanno, D. Sciuto, “Informatica e cultura dell’informazione.”, II edizione, McGraw-Hill, 2013 - L. Console, M. Ribaudo, U. Avalle, F. Carmagnola, F. Cena, “Introduzione all’Informatica.”, IV edizione, UTET Università, 2018 - P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone, “Basi di Dati - Modelli e linguaggi di interrogazione.”, IV edizione, McGraw-Hill, 2013 - Francesco Pinciroli, Marco Masseroli, “Elementi di informatica biomedica.”, Polipress, 2005 ------------------------------------------------------------ Modulo: 192/2 - FONDAMENTI DI INFORMATICA B ------------------------------------------------------------ - L. Mari, G. Buonanno, D. Sciuto, “Informatica e cultura dell’informazione.”, II edizione, McGraw-Hill, 2013 - L. Console, M. Ribaudo, U. Avalle, F. Carmagnola, F. Cena, “Introduzione all’Informatica.”, IV edizione, UTET Università, 2018 - P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone, “Basi di Dati - Modelli e linguaggi di interrogazione.”, IV edizione, McGraw-Hill, 2013 - Francesco Pinciroli, Marco Masseroli, “Elementi di informatica biomedica.”, Polipress, 2005

Elenco delle unità didattiche costituenti l'insegnamento

Docente: GIOVANNI MERLINO

Orario di Ricevimento - GIOVANNI MERLINO

GiornoOra inizioOra fineLuogo
Venerdì 15:00 17:00Dipartimento di Ingegneria, piano 7, blocco B, stanza 743
Note: E' vivamente consigliato contattare il docente all'indirizzo e-mail gmerlino@unime.it per prenotarsi, come anche per fissare eventualmente un appuntamento in giorni ed orari diversi da quelli previsti.

Docente: FRANCESCO LONGO

Orario di Ricevimento - FRANCESCO LONGO

GiornoOra inizioOra fineLuogo
Martedì 15:00 16:007° piano blocco B del Dipartimento di Ingegneria
Giovedì 15:00 16:007° piano blocco B del Dipartimento di Ingegneria
Note:
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti