Introduzione al corso diFondamenti di informatica
ingegneria elettronicaAnno Accademico 2016-2017
Donatella Firmani
ottobre 2016
Lezioni
• il primo semestre• dal 4 ottobre 2016 al 27 gennaio 2017
• con un’interruzione natalizia, probabilmente dal 23 dicembre al 8 gennaio
• martedì, dalle 10:00 alle 12:00 (con inizio effettivo alle 10:15 e fine alle 11:45)• in aula N11 (Via della Vasca Navale 79/81)
• mercoledì, dalle 11:00 alle 13:00 (con inizio effettivo alle 11:15 e fine alle 12:45)• in aula N15 (Via della Vasca Navale 109)
• venerdì, dalle 9:00 alle 11:00 (con inizio effettivo alle 9:30 e fine alle 11:00)• in aula N18 (Via della Vasca Navale 109)
Ingegneria elettronica
Orario delle lezioni del primo anno/primo semestreLunedì Martedì Mercoledì Giovedì Venerdì
8:00-9:00 AM1 (AK) AM1 (AK) AM1 (AK)
9:00-10:00 AM1 (AK) AM1 (AK) AM1 (AK) AM1 (AK) FIE (N18)
10:00-11:00 FIE (N11) AM1 (AK) FIE (N18)
11:00-12:00 FIE (N11) FIE (N15) G (N18)
12:00-13:00 G (N11) FIE (N15) G (N18)
13:00-14:00 G (N11) AM1 (LZ)
14:00-15:00 AM1 (LZ) AM1 (LZ) AM1 (LZ) AM1 (LZ)
15:00-16:00 AM1 (LZ) AM1 (LZ) AM1 (LZ)
Crediti Formativi Universitari
• 9 CFU (CFU = Credito formativo Universitario)
• 1 CFU = 25 ore di impegno per lo studente “medio” e “frequentante”• 1 CFU ≈ 10 ore di attività didattica assistita (lezioni + tutorato)
+ 15 ore di studio individuale (se durante il corso)
9 * 25 = 225
• 1 CFU ≈ 10 ore di attività didattica assistita (lezioni + tutorato) +
20 ore di studio individuale (se dopo il corso) 9 * 30 ≈ 270
• 1 CFU ≈ 35 ore di studio individuale (senza seguire il corso) 9 * 35 = 315
Ricevimento studenti
• nel primo semestre, il mercoledì alle 15:00 dopo analisi, oppure per appuntamento (per posta elettronica), presso • Dipartimento di Ingegneria
Sezione di Informatica e Automazione Via della Vasca Navale 79 secondo piano, stanza 219
• nella secondo semestre, da stabilire
• e-mail del docente: [email protected]
• informazioni sul corso: https://fieromatre.wordpress.com/
Sito del corso
Regole generali
• Durante le lezioni, gli studenti non devono• distrarsi (niente smartphone etc.)
• distrarre
• Fate domande anche se sembrano stupide• spesso non lo sono
• ma usate anche Google
Che cosa è l’informatica
Informatica: • scienza e tecnica dell’elaborazione dei dati e, genericamente, del trattamento
automatico dell’informazione
(Lo Zingarelli)
L’informatica è una disciplina scientifica • è la scienza del trattamento dell’informazione
• problemi, informazioni, algoritmi
• livello astratto, concettuale, metodologico, logico-matematico
L’informatica è una disciplina tecnologica • è la tecnologia dell’elaborazione dei dati
• dati, programmi
• livello concreto, pragmatico, tecnologico, legato al calcolatore
Obiettivi
Questo corso di Fondamenti di informatica (ingegneria elettronica) introduce alcuni aspetti fondamentali dell’informatica, come disciplina per la soluzione automatica di problemi
• elementi di programmazione
• uso e funzionamento dei calcolatori
• aspetti metodologici e qualitativi
Parte I, autunno 2016: Programmazione di base
• Introduzione alla programmazione C
• Controllo
• Funzioni
• Array
• Puntatori
• Caratteri e stringhe
• Input/output formattato
Parte II, dicembre 2016: Elementi di informatica
• Architettura dei calcolatore
• Hardware e software
• Macchina di Von Neumann
• Codifica dei dati
• Microprocessore
• Memoria centrale
• Memorie secondarie
• Sistema operativo
• Problemi e algoritmi
Parte III, inverno 2017: Programmazione avanzata
• Strutture, unioni, manipolazione di bit ed enumerazioni
• Elaborazione di file
• Strutture di dati
• Preprocessore
• Ambiente integrato di sviluppo C (Esercitazione)
Prerequisiti
Formalmente, nessun prerequisito
Libro di testo
Materiale didattico
Altro materiale distribuito dal docente
• Esercizi
• Diapositive (Alcune…)
• Problemi
• …
Laboratorio
Durante il corso, gli studenti hanno accesso ai calcolatori del seguente laboratori
• Aula Campus (Università Roma Tre) – Via della Vasca Navale 81, piano terra (oltre 50 PC)
• l’accesso ai laboratori è consentiti negli orari di apertura affissi presso i laboratori stessi e comunque solo nel rispetto dei rispettivi regolamenti
Gli studenti che hanno a disposizione un calcolatore e un collegamento a Internet possono svolgere le “attività di laboratorio” in proprio
Modalità d’esame
• un prova di programmazione finale
• eventuali prove di programmazione intermedie, da svolgere a casa
• su richiesta del docente, una prova orale (che può comprendere una discussione degli elaborati)
Calendario delle prove – studenti ord. 270/04
• Non sono attualmente disponibili informazioni definitive sul calendario delle prossime prove d’esame
• Attenzione, sul calendario degli esami verranno pubblicate la date delle prove finali
• Informazioni su eventuali prove intermedie a lezione e sul sito del corso
Prenotazioni alle prove d’esame – studenti ord. 270/04
Per partecipare all’esame è necessario effettuare una prenotazione all’esame tramite il portale dello studente portalestudente.uniroma3.it – entro 4 giorni lavorativi (circa una settimana) dalla data d’esame
In caso di problemi, contattare il docente per posta elettronica entro gli stessi termini.
Verbalizzazione degli esami
Di norma, l’esame si conclude con la verbalizzazione dell’esame stesso da parte del docente
• il docente corregge le prove e pubblica i risultati (voti proposti) delle prove sul sito web del corso
• lo studente ha una settimana di tempo per visionare la correzione delle prove
• in questa settimana lo studente può decidere, se vuole, di ritirarsi dall’esame (rinunciando definitivamente al voto proposto)
• trascorsa questa settimana, il docente verbalizza (ovvero registra ufficialmente) i voti assegnati
• la verbalizzazione è un atto svolto dal docente, che non richiede più la presenza dello studente
Informazioni per studenti dell’ordinamento 509/99
Per informazioni, gli studenti dell’ordinamento 509/99 devono contattare il docente
Concetti di base
• Algoritmo• Procedimento che risolve un determinato problema attraverso un numero
finito di passi elementari.
• Il termine deriva dalla trascrizione latina del nome del matematico persiano al-Khwarizmi, che è considerato uno dei primi autori ad aver fatto riferimento a questo concetto
• Programmazione• traduzione o codifica di un algoritmo
• scritto in un certo linguaggio, che può essere quindi effettivamente eseguito da un calcolatore
Pensare come una macchina
Esperimento mentale: Immaginiamo di avere un robot che può svolgere diversi compiti manuali e che recepisce comandi in italiano. Ci sono diversi ospiti a cui servire il caffè.
Alcune sfide con cui iniziare:
• Essere specifico e nel giusto ordine
• Passare argomenti
• Prendere decisioni in un algoritmo
• I cicli sono ripetizioni
Essere specifico e nel giusto ordine 1
• Obiettivo: Servire il caffè all’ospite A, sapendo che lo vuole amaro
• Alcuni comandi disponibili• Versare …. dentro ...;
• Prendere ...;
• Dare … a ...;
• Mettere … su ...;
• Togliere … da …;
• Attendere ….;
• Spostare … da ... a …;
• ….
Algoritmo del caffè amaro
PROCEDURE ServiCaffèOspiteA
• Prendere tazzina
• Prendere caffettiera
• Riempire caffettiera con acqua, caffè
• Mettere caffettiera su fuoco
• Attendere 5 min //Sappiamo esattamente quando togliere la caffettiera
• Togliere caffettiera da fuoco
• Versare caffè dentro tazzina
• Dare tazzina a ospite A
END PROCEDURE
Essere specifico e nel giusto ordine 2
• Obiettivo: Servire il caffè all’ospite B, che gradisce 1cucch. zucchero
• Nuovi comandi per gestire zucchero• Mescolare … con ...;
Algoritmo del caffè con zucchero
PROCEDURE ServiCaffèOspiteB
• Prendere tazzina
• Prendere caffettiera
• Riempire caffettiera con acqua, caffè
• Mettere caffettiera su fuoco
• Attendere 5 min //Sappiamo esattamente quando togliere la caffettiera
• Togliere caffettiera da fuoco
• Versare caffè dentro tazzina
• Prendere zucchero
• Prendere cucchiaino
• Versare zucchero in tazzina
• Mescolare tazzina con cucchiaino
• Dare tazzina a ospite B
END PROCEDURE
Passare argomenti
• Obiettivo: Servire il caffè all’ospite C, che a volte vuole del latte di soia
• La scelta sul latte viene ricevuta in input dalla procedura• ServiCaffèOspiteC(preferenzaLatte)
• preferenzaLatte può essere SI/NO
Prendere decisioni in un algoritmo
• Obiettivo: Servire il caffè all’ospite C che a volte vuole del latte di soia
• La scelta sul latte viene ricevuta in input dalla procedura• ServiCaffèOspiteC(preferenzaLatte)
• preferenzaLatte può essere SI/NO
• Nuovi comandi ulteriori per gestire preferenze latte• Se … fai
Algoritmo del caffè con eventuale latte
PROCEDURE ServiCaffèOspiteC (preferenzaLatte)
• Prendere tazzina
• Prendere caffettiera
• Riempire caffettiera con acqua, caffè
• Mettere caffettiera su fuoco
• Attendere 5 min
• Togliere caffettiera da fuoco
• Versare caffè dentro tazzina
• Prendere zucchero
• Prendere cucchiaino
• Se viene preferenzaLatte = SI fai
• Prendere latte
• Versare latte in tazza
• Dare tazzina a ospite C
END PROCEDURE
Approfondimento con diagramma di flusso
Essere specifico e nel giusto ordine 3
• Obiettivo: Servire il caffè all’ospite D, che gradisce 2cucch. zucchero
Algoritmo del caffè con doppio zucchero
PROCEDURE ServiCaffèOspiteD
• Prendere tazzina
• Prendere caffettiera
• Riempire caffettiera con acqua, caffè
• Mettere caffettiera su fuoco
• Attendere 5 min
• Togliere caffettiera da fuoco
• Versare caffè dentro tazzina
• Prendere zucchero
• Prendere cucchiaino
• Versare zucchero in tazzina
• Versare zucchero in tazzina
• Mescolare tazzina con cucchiaino
• Dare tazzina a ospite C
END PROCEDURE
I cicli sono ripetizioni
• Obiettivo: Servire il caffè all’ospite D, che gradisce 2cucch. zucchero, di cui non ricordi le preferenze
• Il numero di cucchiaini viene ricevuto in input dalla procedura• ServiCaffèOspiteD(numCucchiainiPreferiti)
• Nuovi comandi per gestire preferenza zucchero• Finché … fai
• Es. CONDIZIONE: numCucchiainiVersati=numCucchiainiPreferiti
Algoritmo del caffè con zucchero a piacere
PROCEDURE ServiCaffèOspiteD (numCucchiainiPreferiti)
• Prendere tazzina
• Prendere caffettiera
• Riempire caffettiera con acqua, caffè
• Mettere caffettiera su fuoco
• Attendere 5 min
• Togliere caffettiera da fuoco
• Versare caffè dentro tazzina
• Prendere zucchero
• Prendere cucchiaino
• Finché numCucchiainiVersati=numCucchiainiPreferiti fai //Devo ricordare quanti ne ho versati• Versare zucchero in tazzina
• Mescolare tazzina con cucchiaino
• Dare tazzina a ospite D
END PROCEDURE
Approfondimento con diagramma di flusso
Istruzioni specifiche
per ricordare quanti ne ho
versati
Approfondimento: Soluzione
Algoritmo del caffè con eventuale latte e zucchero a piacere
PROCEDURE ServiCaffèOspite (preferenzaLatte, numCucchiaini, nomeOspite)
• Prendere tazzina
• Prendere caffettiera
• Riempire caffettiera con acqua, caffè
• Mettere caffettiera su fuoco
• Attendere 5 min
• Togliere caffettiera da fuoco
• Versare caffè dentro tazzina
• Prendere zucchero
• Prendere cucchiaino
• Finché numCucchiainiVersati=numCucchiainiPreferiti fai //Devo ricordare quanti ne ho versati• Versare zucchero in tazzina
• Se viene preferenzaLatte = SI fai
• Prendere latte
• Versare latte in tazza
• Dare tazzina a ospite nomeOspite
END PROCEDURE
Top Related