INFORMATICA

Obiettivi formativi

Obiettivi formativi. L'obiettivo principale del corso è fornire conoscenze di informatica di base, di dare la capacità di capire in cosa consista un problema informatico e che tipo di ragionamento logico possa portare alla sua soluzione. Parallelamente si vuole fornire una preparazione tecnica riguardo la scrittura di programmi (e.g. in Python) e l'interrogazione di basi di dati relazionali. Conoscenza e capacità di comprensione. Alla fine del corso gli studenti sapranno cos'è un algoritmo, che differenza esiste tra un dato e la sua rappresentazione informatica, come ragionare utilizzando strumenti di astrazione. Saranno in grado scrivere programmi nel linguaggio Python per risolvere problemi nuovi, utilizzando anche conoscenze teoriche di analisi degli algoritmi. Sapranno come sono organizzate a livello logico le basi di dati relazionali, e conosceranno la parte di linguaggio SQL utile per interrogare queste basi di dati. Capacità di applicare conoscenza e comprensione. L'apprendimento di elementi di teoria degli algoritmi e di un linguaggio di programmazione permette agli studenti di risolvere in modo flessibile problemi computazionali nuovi. Autonomia di giudizio Il pensiero algoritmico (o computazionale) che gli studenti allenano in questo corso fornisce gli strumenti per l'analisi precisa e non ambigua dei problemi, affidandosi alle informazioni rilevanti. Abilità comunicativa. Gli studenti acquisiscono il linguaggio tecnico-scientifico dell'informatica, che deve essere opportunamente utilizzato sia nelle prove scritte che orali. Oltretutto la scrittura di documentazione per il codice allena gli studenti a spiegare con chiarezza il loro lavoro. Capacità di apprendimento Il corso mette gli studenti davanti a dei concetti (la programmazione, la teoria degli algoritmi) nuovi. Lo sforzo fatto per comprenderli ed applicarli permette loro di studiare e di valutare tecniche algoritmiche sconosiute e nuovi linguaggi di programmazione.

Canale 1
DONATELLA FIRMANI Scheda docente

Programmi - Frequenza - Esami

Programma
Vedere http://www.massimolauria.net/informatica2023/ ** Storia dell'informatica e sua evoluzione. - algoritmi - rappresentazione dei dati - codifica di testo e numeri - rappresentazione binaria, decimale, esadecimale - ASCII, UTF-8, Latin1 ** Capacità tecniche di base - struttura di file e cartelle - uso del terminale - uso del sistema Linux in laboratorio - muoversi tra cartelle ed eseguire file python ** Programmazione in Python Capitoli e parti del libro di testo / Pensare in Python / di Allen B. Downey 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12.1-12.3, 13.1-13.5, 14.1-14.5, 19.1-19.2, Appendice A, Appendice B - variabili, espressioni e dichiarazioni - tipi di dati numerici - chiamata e definizione di funzioni - istruzioni condizionali - istruzioni di iterazione - iterazione e ricorsione - diagrammi di stack e limiti di ricorsione - tipi di dati: stringhe e manipolazione del testo - elenchi e sequenze di dati - dizionari - manipolazione dei file - gestione delle eccezioni - espressioni condizionali, list comprehension ** Strumenti di sviluppo - interprete interattivo di Python - editor di testo - IDE (Thonny) ** Algoritmi efficienti - Complessità di algoritmi - Notazione O grande - ricerca sequenziale e ricerca binaria - ricorsione, call stack, successone di Fibonacci - massimo comun divisore (metodo di Eulero) - Ordinamento per inserzione - Mergesort - ordinamenti stabili - algoritmi numerici Dispense dei docenti: capitoli 1, 2, 3, 7, 8, 9, 11
Prerequisiti
Nessun prerequisito, è un corso del primo anno.
Testi di riferimento
Libri di testo e appunti - Pensare in Python - Come Pensare da Informatico --- Allen B. Downey - Appunti su algoritmi e complessità --- Massimo Lauria Diapositive sul sito del corso Vedere http://www.massimolauria.net/informatica2023/
Modalità insegnamento
Per il 2020/2021 la modalità è stata ibrida: parte degli studenti in presenza e parte a distanza, in alternanza. Luoghi delle lezioni: Dip. Scienze Statistiche (DSS) Aule II e III Laboratorio Via Tiburtina 205, Aula 15 Canale 2 Lunedì, ore 8.00-10.00 aula 15 (Laboratorio a Via Tiburtina 205) Mercoledì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 14.00-16.00, aula III (terzo piano DSS) Link zoom: https://uniroma1.zoom.us/j/81592788487?pwd=bm1MUDNtazdLUFpaaHBqcElOa0c2UT09 Canale 3 Lunedì, ore 12.00-14.00, aula II (piano terra DSS) Martedì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 16.00-18.00, aula 15 (Laboratorio a Via Tiburtina 205) Link zoom: https://uniroma1.zoom.us/j/89863744057?pwd=MkVYSk5qcmlGWjdtTTVhTmR6bWJxZz09
Frequenza
La frequenza non è obbligatoria.
Modalità di esame
L'esame sarà costituito da due prove, prova di teoria (domande a risposta chiusa e a risposta aperta) prova di programmazione (esercizi di programmazione su computer) e per completare l'esame sarà necessario ottenere in entrambe un voto non inferiore a 18. Il voto finale dell'esame sarà una media artimetica del voto delle due prove. Non ci saranno esoneri. La prova pratica di programmazione Python verrà svolta al computer, secondo modalità molto simili a quelle utilizzate durante le esercitazioni di laboratorio. Si consiglia di esercitarsi alla prova con le stesse modalità descritte nelle esercitazioni di Laboratorio, utilizzando i file di test. Per ulteriori informazioni: https://www.massimolauria.net/informatica2023/esami.html
Bibliografia
La parte teorica del corso può essere approfondita su Introduzione agli algoritmi e strutture dati di Thomas H. Cormen, Charles E. Leiserson, e al.
Modalità di erogazione
Per il 2020/2021 la modalità è stata ibrida: parte degli studenti in presenza e parte a distanza, in alternanza. Luoghi delle lezioni: Dip. Scienze Statistiche (DSS) Aule II e III Laboratorio Via Tiburtina 205, Aula 15 Canale 2 Lunedì, ore 8.00-10.00 aula 15 (Laboratorio a Via Tiburtina 205) Mercoledì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 14.00-16.00, aula III (terzo piano DSS) Link zoom: https://uniroma1.zoom.us/j/81592788487?pwd=bm1MUDNtazdLUFpaaHBqcElOa0c2UT09 Canale 3 Lunedì, ore 12.00-14.00, aula II (piano terra DSS) Martedì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 16.00-18.00, aula 15 (Laboratorio a Via Tiburtina 205) Link zoom: https://uniroma1.zoom.us/j/89863744057?pwd=MkVYSk5qcmlGWjdtTTVhTmR6bWJxZz09
DONATELLA FIRMANI Scheda docente

Programmi - Frequenza - Esami

Programma
Storia dell'informatica e sua evoluzione. - algoritmi - rappresentazione dei dati - codifica di testo e numeri - rappresentazione binaria, decimale, esadecimale - ASCII, UTF-8, Latin1 ** Programmazione in Python Capitoli e parti del libro di testo / Pensare in Python / di Allen B. Downey ed. 2.2.23 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12.1-12.3, 13.1-13.5, 14.1-14.5, 19.1-19.2, Appendice A, Appendice B - variabili, espressioni e dichiarazioni - tipi di dati numerici - chiamata e definizione di funzioni - istruzioni condizionali - istruzioni di iterazione - iterazione e ricorsione - diagrammi di stack e limiti di ricorsione - tipi di dati: stringhe e manipolazione del testo - elenchi e sequenze di dati - dizionari - manipolazione dei file - gestione delle eccezioni - espressioni condizionali, list comprehension ** Strumenti di sviluppo - interprete interattivo di Python - editor di testo - IDE (Thonny) ** Algoritmi efficienti - Complessità di algoritmi - Notazione O grande - ricerca sequenziale e ricerca binaria - ricorsione, call stack, successone di Fibonacci - massimo comun divisore (metodo di Eulero) - Ordinamento per inserzione - Mergesort - ordinamenti stabili - algoritmi numerici Note dell'insegnante: capitoli 1, 2, 3, 7, 8, 9, 11
Prerequisiti
Nessun prerequisito.
Testi di riferimento
- Pensare in Python - Come pensare da Informatico di Allen B. Downey. - Dispense a cura del prof. Massimo Lauria Entrambi i testi si possono scaricare gratuitamente in PDF. Consultare sito Moodle del corso per ulteriori dettagli e per le diapositive https://elearning.uniroma1.it/course/view.php?id=15154
Frequenza
Non obbligatoria
Modalità di esame
L'esame sarà costituito da una prova comprendente: esercizi di programmazione su computer, con test automatici, domande di teoria a risposta chiusa e a risposta aperta, seguita da un eventuale colloquio a discrezione del docente. Non ci saranno prove intermedie (esoneri). La prova pratica di programmazione Python verrà svolta al computer, secondo modalità molto simili a quelle utilizzate durante le esercitazioni di laboratorio. Si consiglia di esercitarsi alla prova con le stesse modalità descritte nelle esercitazioni di Laboratorio, utilizzando i file di test. Consultare sito Moodle del corso per ulteriori dettagli https://elearning.uniroma1.it/course/view.php?id=15154
Modalità di erogazione
Tradizionale in presenza Lezioni frontali con attività di laboratorio al PC
Canale 2
MASSIMO LAURIA Scheda docente

Programmi - Frequenza - Esami

Programma
Vedere http://www.massimolauria.net/informatica2023/ ** Storia dell'informatica e sua evoluzione. - algoritmi - rappresentazione dei dati - codifica di testo e numeri - rappresentazione binaria, decimale, esadecimale - ASCII, UTF-8, Latin1 ** Capacità tecniche di base - struttura di file e cartelle - uso del terminale - uso del sistema Linux in laboratorio - muoversi tra cartelle ed eseguire file python ** Programmazione in Python Capitoli e parti del libro di testo / Pensare in Python / di Allen B. Downey 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12.1-12.3, 13.1-13.5, 14.1-14.5, 19.1-19.2, Appendice A, Appendice B - variabili, espressioni e dichiarazioni - tipi di dati numerici - chiamata e definizione di funzioni - istruzioni condizionali - istruzioni di iterazione - iterazione e ricorsione - diagrammi di stack e limiti di ricorsione - tipi di dati: stringhe e manipolazione del testo - elenchi e sequenze di dati - dizionari - manipolazione dei file - gestione delle eccezioni - espressioni condizionali, list comprehension ** Strumenti di sviluppo - interprete interattivo di Python - editor di testo - IDE (Thonny) ** Algoritmi efficienti - Complessità di algoritmi - Notazione O grande - ricerca sequenziale e ricerca binaria - ricorsione, call stack, successone di Fibonacci - massimo comun divisore (metodo di Eulero) - Ordinamento per inserzione - Mergesort - ordinamenti stabili - algoritmi numerici Dispense dei docenti: capitoli 1, 2, 3, 7, 8, 9, 11
Prerequisiti
Nessun prerequisito, è un corso del primo anno.
Testi di riferimento
Libri di testo e appunti - Pensare in Python - Come Pensare da Informatico --- Allen B. Downey - Appunti su algoritmi e complessità --- Massimo Lauria Diapositive sul sito del corso Vedere http://www.massimolauria.net/informatica2023/
Modalità insegnamento
Per il 2020/2021 la modalità è stata ibrida: parte degli studenti in presenza e parte a distanza, in alternanza. Luoghi delle lezioni: Dip. Scienze Statistiche (DSS) Aule II e III Laboratorio Via Tiburtina 205, Aula 15 Canale 2 Lunedì, ore 8.00-10.00 aula 15 (Laboratorio a Via Tiburtina 205) Mercoledì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 14.00-16.00, aula III (terzo piano DSS) Link zoom: https://uniroma1.zoom.us/j/81592788487?pwd=bm1MUDNtazdLUFpaaHBqcElOa0c2UT09 Canale 3 Lunedì, ore 12.00-14.00, aula II (piano terra DSS) Martedì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 16.00-18.00, aula 15 (Laboratorio a Via Tiburtina 205) Link zoom: https://uniroma1.zoom.us/j/89863744057?pwd=MkVYSk5qcmlGWjdtTTVhTmR6bWJxZz09
Frequenza
La frequenza non è obbligatoria.
Modalità di esame
L'esame sarà costituito da due prove, prova di teoria (domande a risposta chiusa e a risposta aperta) prova di programmazione (esercizi di programmazione su computer) e per completare l'esame sarà necessario ottenere in entrambe un voto non inferiore a 18. Il voto finale dell'esame sarà una media artimetica del voto delle due prove. Non ci saranno esoneri. La prova pratica di programmazione Python verrà svolta al computer, secondo modalità molto simili a quelle utilizzate durante le esercitazioni di laboratorio. Si consiglia di esercitarsi alla prova con le stesse modalità descritte nelle esercitazioni di Laboratorio, utilizzando i file di test. Per ulteriori informazioni: https://www.massimolauria.net/informatica2023/esami.html
Bibliografia
La parte teorica del corso può essere approfondita su Introduzione agli algoritmi e strutture dati di Thomas H. Cormen, Charles E. Leiserson, e al.
Modalità di erogazione
Per il 2020/2021 la modalità è stata ibrida: parte degli studenti in presenza e parte a distanza, in alternanza. Luoghi delle lezioni: Dip. Scienze Statistiche (DSS) Aule II e III Laboratorio Via Tiburtina 205, Aula 15 Canale 2 Lunedì, ore 8.00-10.00 aula 15 (Laboratorio a Via Tiburtina 205) Mercoledì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 14.00-16.00, aula III (terzo piano DSS) Link zoom: https://uniroma1.zoom.us/j/81592788487?pwd=bm1MUDNtazdLUFpaaHBqcElOa0c2UT09 Canale 3 Lunedì, ore 12.00-14.00, aula II (piano terra DSS) Martedì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 16.00-18.00, aula 15 (Laboratorio a Via Tiburtina 205) Link zoom: https://uniroma1.zoom.us/j/89863744057?pwd=MkVYSk5qcmlGWjdtTTVhTmR6bWJxZz09
Canale 3
PAOLO GIULIO FRANCIOSA Scheda docente

Programmi - Frequenza - Esami

Programma
Vedere http://www.massimolauria.net/informatica2023/ ** Storia dell'informatica e sua evoluzione. - algoritmi - rappresentazione dei dati - codifica di testo e numeri - rappresentazione binaria, decimale, esadecimale - ASCII, UTF-8, Latin1 ** Capacità tecniche di base - struttura di file e cartelle - uso del terminale - uso del sistema Linux in laboratorio - muoversi tra cartelle ed eseguire file python ** Programmazione in Python Capitoli e parti del libro di testo / Pensare in Python / di Allen B. Downey 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12.1-12.3, 13.1-13.5, 14.1-14.5, 19.1-19.2, Appendice A, Appendice B - variabili, espressioni e dichiarazioni - tipi di dati numerici - chiamata e definizione di funzioni - istruzioni condizionali - istruzioni di iterazione - iterazione e ricorsione - diagrammi di stack e limiti di ricorsione - tipi di dati: stringhe e manipolazione del testo - elenchi e sequenze di dati - dizionari - manipolazione dei file - gestione delle eccezioni - espressioni condizionali, list comprehension ** Strumenti di sviluppo - interprete interattivo di Python - editor di testo - IDE (Thonny) ** Algoritmi efficienti - Complessità di algoritmi - Notazione O grande - ricerca sequenziale e ricerca binaria - ricorsione, call stack, successone di Fibonacci - massimo comun divisore (metodo di Eulero) - Ordinamento per inserzione - Mergesort - ordinamenti stabili - algoritmi numerici Dispense dei docenti: capitoli 1, 2, 3, 7, 8, 9, 11
Prerequisiti
Nessun prerequisito, è un corso del primo anno.
Testi di riferimento
Libri di testo e appunti - Pensare in Python - Come Pensare da Informatico --- Allen B. Downey - Appunti su algoritmi e complessità --- Massimo Lauria Diapositive sul sito del corso Vedere http://www.massimolauria.net/informatica2023/
Modalità insegnamento
Per il 2020/2021 la modalità è stata ibrida: parte degli studenti in presenza e parte a distanza, in alternanza. Luoghi delle lezioni: Dip. Scienze Statistiche (DSS) Aule II e III Laboratorio Via Tiburtina 205, Aula 15 Canale 2 Lunedì, ore 8.00-10.00 aula 15 (Laboratorio a Via Tiburtina 205) Mercoledì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 14.00-16.00, aula III (terzo piano DSS) Link zoom: https://uniroma1.zoom.us/j/81592788487?pwd=bm1MUDNtazdLUFpaaHBqcElOa0c2UT09 Canale 3 Lunedì, ore 12.00-14.00, aula II (piano terra DSS) Martedì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 16.00-18.00, aula 15 (Laboratorio a Via Tiburtina 205) Link zoom: https://uniroma1.zoom.us/j/89863744057?pwd=MkVYSk5qcmlGWjdtTTVhTmR6bWJxZz09
Frequenza
La frequenza non è obbligatoria.
Modalità di esame
L'esame sarà costituito da due prove, prova di teoria (domande a risposta chiusa e a risposta aperta) prova di programmazione (esercizi di programmazione su computer) e per completare l'esame sarà necessario ottenere in entrambe un voto non inferiore a 18. Il voto finale dell'esame sarà una media artimetica del voto delle due prove. Non ci saranno esoneri. La prova pratica di programmazione Python verrà svolta al computer, secondo modalità molto simili a quelle utilizzate durante le esercitazioni di laboratorio. Si consiglia di esercitarsi alla prova con le stesse modalità descritte nelle esercitazioni di Laboratorio, utilizzando i file di test. Per ulteriori informazioni: https://www.massimolauria.net/informatica2023/esami.html
Bibliografia
La parte teorica del corso può essere approfondita su Introduzione agli algoritmi e strutture dati di Thomas H. Cormen, Charles E. Leiserson, e al.
Modalità di erogazione
Per il 2020/2021 la modalità è stata ibrida: parte degli studenti in presenza e parte a distanza, in alternanza. Luoghi delle lezioni: Dip. Scienze Statistiche (DSS) Aule II e III Laboratorio Via Tiburtina 205, Aula 15 Canale 2 Lunedì, ore 8.00-10.00 aula 15 (Laboratorio a Via Tiburtina 205) Mercoledì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 14.00-16.00, aula III (terzo piano DSS) Link zoom: https://uniroma1.zoom.us/j/81592788487?pwd=bm1MUDNtazdLUFpaaHBqcElOa0c2UT09 Canale 3 Lunedì, ore 12.00-14.00, aula II (piano terra DSS) Martedì, ore 12.00-14.00, aula III (terzo piano DSS) Giovedì, ore 16.00-18.00, aula 15 (Laboratorio a Via Tiburtina 205) Link zoom: https://uniroma1.zoom.us/j/89863744057?pwd=MkVYSk5qcmlGWjdtTTVhTmR6bWJxZz09
PAOLO GIULIO FRANCIOSA Scheda docente

Programmi - Frequenza - Esami

Programma
Storia dell'informatica e sua evoluzione.    - algoritmi    - rappresentazione dei dati    - codifica di testo e numeri    - rappresentazione binaria, decimale, esadecimale    - ASCII, UTF-8, Latin1 ** Programmazione in Python    Capitoli e parti del libro di testo / Pensare in Python / di Allen B. Downey ed. 2.2.23    1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12.1-12.3, 13.1-13.5, 14.1-14.5, 19.1-19.2, Appendice A, Appendice B    - variabili, espressioni e dichiarazioni    - tipi di dati numerici    - chiamata e definizione di funzioni    - istruzioni condizionali    - istruzioni di iterazione    - iterazione e ricorsione    - diagrammi di stack e limiti di ricorsione    - tipi di dati: stringhe e manipolazione del testo    - elenchi e sequenze di dati    - dizionari    - manipolazione dei file - gestione delle eccezioni - espressioni condizionali, list comprehension ** Strumenti di sviluppo    - interprete interattivo di Python    - editor di testo    - IDE (Thonny) ** Algoritmi efficienti    - Complessità di algoritmi    - Notazione O grande    - ricerca sequenziale e ricerca binaria - ricorsione, call stack, successone di Fibonacci - massimo comun divisore (metodo di Eulero)    - Ordinamento per inserzione    - Mergesort    - ordinamenti stabili - algoritmi numerici    Note dell'insegnante: capitoli 1, 2, 3, 7, 8, 9, 11
Prerequisiti
Nessun prerequisito, è un corso del primo anno.
Testi di riferimento
Thinking in Python --- Allen B. Downey Appunti su algoritmi e complessità --- a cura del prof. Massimo Lauria
Modalità insegnamento
Tradizionale / A distanza Per il 2020/2021 la modalità è stata ibrida: parte degli studenti in presenza e parte a distanza, in alternanza.
Frequenza
La frequenza non è obbligatoria.
Modalità di esame
L'esame sarà costituito da una prova comprendente: esercizi di programmazione su computer, con test automatici, domande di teoria a risposta chiusa e a risposta aperta, seguita da un eventuale colloquio a discrezione del docente. Non ci saranno prove intermedie (esoneri). La prova pratica di programmazione Python verrà svolta al computer, secondo modalità molto simili a quelle utilizzate durante le esercitazioni di laboratorio. Si consiglia di esercitarsi alla prova con le stesse modalità descritte nelle esercitazioni di Laboratorio, utilizzando i file di test.
Modalità di erogazione
Tradizionale / A distanza Per il 2020/2021 la modalità è stata ibrida: parte degli studenti in presenza e parte a distanza, in alternanza.
  • Codice insegnamento1017587
  • Anno accademico2024/2025
  • CorsoStatistica, economia, finanza e assicurazioni
  • CurriculumCurriculum unico
  • Anno1º anno
  • Semestre1º semestre
  • SSDINF/01
  • CFU9
  • Ambito disciplinareInformatico