- Docente: Roberto Casadei
- Crediti formativi: 6
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Moduli: Roberto Casadei (Modulo 1) Sara Montagna (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Cesena
-
Corso:
Laurea in
Ingegneria biomedica (cod. 9082)
Valido anche per Laurea in Ingegneria elettronica (cod. 5834)
Conoscenze e abilità da conseguire
Al termine del corso, lo studente possiede le conoscenze di base dei concetti di computazione, di programmazione imperativa, strutturata, e di strutture dati e loro algoritmi. In particolare, lo studente è in grado di: - progettare algoritmi base per la manipolazione di strutture dati - realizzare tali algoritmi in un linguaggio di programmazione.
Contenuti
Introduzione all'informatica: panoramica della disciplina.
Architettura dei calcolatori: architettura di Von Neuman; componenti dei computer moderni; livelli software.
Rappresentazione dell'informazione: codice binario; rappresentazione dell'informazione numerica (rappresentazione in complemento a due, rappresentazione floating-point); rappresentazione dell'informazione non numerica.
Introduzione agli algoritmi, strutture dati, e programmazione: definizione di algoritmo ed esempi; strutture dati fondamentali; notazioni di rappresentazione di algoritmi (pseudocodice, diagrammi di flusso); linguaggi di programmazione.
Linguaggio C: costrutti fondamentali del linguaggio: tipi, operatori, espressioni, funzioni, strutture di controllo, cicli, funzioni; programmazione strutturata; iterazione e ricorsione; array e puntatori; allocazione dinamica della memoria; algoritmi su array (inversione, ordinamento, ricerca sequenziale, ricerca binaria); stringhe.
Testi/Bibliografia
Testi suggeriti:
- J. G. Brookshear and Stephen G. Kochan. Fondamenti di Informatica e Programmazione in C. Pearson, 2016. ISBN: 978-8865183694
- Paul J. Deitel, Harvey M. Deitel, "Il linguaggio C: fondamenti e tecniche di programmazione", 9/Ed, Pearson, ISBN 978-8891906236 (ISBN edizione digitale: 978-8891906243)
Approfondimenti sulla programmazione in C:
- Brian W. Kernighan and Dennis M. Ritchie, "The C Programming Language, Second Edition", Prentice Hall, Inc., 1988. ISBN 0-13-110362-8 (paperback), 0-13-110370-9 (hardback).
Metodi didattici
La didattica si svolge mediante lezioni frontali accompagnate da esercitazioni pratiche al laboratorio, strutturate secondo approcci attivi. Durante le lezioni teoriche vengono introdotti i concetti base dell'informatica, e vengono via via descritti i costrutti di programmazione che sono poi oggetto di esercitazioni parzialmente guidate, con la supervisione dei docenti. Di tutti gli esercizi proposti viene poi fornita una possibile soluzione sul sito web del corso, allo scopo di supportare le attività di studio individuale. Alcune esercitazioni sono rivolte a simulare lo svolgimento dell'esame finale.
Modalità di verifica e valutazione dell'apprendimento
Gli studenti saranno valutati in base allo svolgimento di una prova scritta/pratica composta da domande di tipo teorico ed esercizi da risolvere al computer. L'esame è strutturato in modo tale da valutare il raggiungimento degli obiettivi didattici; in particolare, la capacità di ragionare in termini logici e algoritmici e le competenze di analisi, progettazione, ed implementazione di programmi in linguaggio C.
Strumenti a supporto della didattica
Nel corso sarà utilizzato anche materiale didattico fornito dal docente (in particolare, lucidi e dispense con esercizi e problemi vari). L'attività di laboratorio supporterà l'apprendimento pratico. Sarà presente un tutor per supportare l'attività laboratoriale.
Orario di ricevimento
Consulta il sito web di Roberto Casadei
Consulta il sito web di Sara Montagna