- Science
- Bachelor Degree
- Scienze e Tecnologie Geologiche [E3402Q - E3401Q]
- Courses
- A.A. 2025-2026
- 1st year
- Introduction To Computer Science
- Summary
Course Syllabus
Obiettivi
L'obiettivo principale del corso è quello di fornire competenze di base e capacità pratiche inerenti alle discipline dell'informatica e dell'analisi dei dati, con particolare attenzione alle possibili applicazioni alla sfera delle scienze della terra.
Gli obiettivi specifici sono:
- Lo studente dimostra una conoscenza di base dei concetti fondamentali dell'informatica, inclusa la sua storia, l'architettura dei calcolatori, le reti e i sistemi di numerazione.
- Lo studente comprende il ruolo e l'importanza dell'informatica nell'ambito delle scienze della terra.
- Lo studente conosce i principi di base della rappresentazione digitale di testo, immagini e suono.
- Lo studente è capace di utilizzare strumenti software come Excel per immagazzinare, processare e analizzare dati, e produrre grafici.
- Lo studente è in grado di scrivere semplici programmi in Python per l'implementazione di algoritmi e il trattamento/analisi dei dati.
- Lo studente è in grado di identificare e scegliere gli strumenti e le metodologie informatiche più appropriate per affrontare semplici problemi legati all'analisi dei dati nelle scienze della terra.
- Lo studente è in grado di comunicare, utilizzando un linguaggio tecnico di base, i concetti e i risultati delle proprie analisi informatiche.
Contenuti sintetici
Il corso consentirà di:
Capire cos’è l’informatica
Conoscere la storia dell'informatica
Capire perché l’informatica è importante per le scienze della terra
Apprendere nozioni legate alle tecnologie di rete, comprendere la differenza tra Internet e il Web
Comprendere il problema dell'accesso ai dati e alle informazioni
Capire logica e architettura di un computer
Familiarizzare con gli algoritmi
Mettere in pratica le teorie in applicazioni concrete
Imparare ad utilizzare Excel e Python per immagazzinare, processare e analizzare dati, produrre grafici, implementare algoritmi
Programma esteso
Introduzione
- Introduzione al corso, organizzazione di lezioni ed esercitazioni
- Cos'è l'informatica
- Dati e informazione
- Cosa sono gli algoritmi
- Perché l'informatica per le Scienze della Terra
- I G.I.S. (Geographical Information System)
- Storia dell'Informatica
Preistoria e primi "passi" dell'informatica
- La definizione dei fondamenti teorici (logica, algebra Booleana, i primi programmi)
- Le macchine elettromeccaniche
- La macchina di Turing
- ENIAC e gli antenati del computer digitale
- Transistor, chip e microprocessori
- I primi personal computer
- Conservazione e trasmissione di dati (protocolli)
- La legge di Moore
- ARPANET e il percorso che conduce ad internet
- La diffusione al grande pubblico dei computer (prima) e della rete (dopo)
- Architettura del calcolatore
L'hardware
- L'architettura di Von Neumann
- CPU, Memoria, I/O, BUS
- Il software
- Il sistema operativo
- Le reti di calcolatori
Le componenti di una rete di calcolatori
- Classificazione delle reti per estensione
- Classificazione delle reti per topologia
- Classificazione delle reti per mezzo trasmissivo
- I protocolli di comunicazione
- Internet e Internet of Things
- I servizi di Internet: Web, posta elettronica, DNS
- Internet e il Web
Differenza tra Internet e il Web
- Il World Wide Web
- Web statico e Web dinamico
- Web 1.0, 2.0, 3.0, 4.0
- Il Web sociale
- Il problema dell'accesso alle informazioni
I sistemi di numerazione
- Il sistema decimale
- Il sistema binario
- Conversione dei numeri in diverse basi
- La rappresentazione in modulo e segno
- La rappresentazione in complemento a due
- L'algebra di Boole e i circuiti elettronici
- La codifica dei testi, delle immagini e del suono
La rappresentazione del testo
- I caratteri
- I sistemi di rappresentazione ASCII e Unicode
- La rappresentazione delle immagini
- Grafica raster
- Grafica vettoriale
- La rappresentazione del suono
- Il campionamento audio
- La qualità audio nella rappresentazione digitale
Cos'è un algoritmo
- Le proprietà degli algoritmi
- I diagrammi di flusso (istruzioni condizionali e cicli)
- Lo pseudocodice
- I linguaggi di programmazione
- I paradigmi di programmazione
- I linguaggi procedurali
Variabili e costanti
- Le istruzioni di assegnamento
- I tipi di dato (elementari e derivati)
- Le funzioni
- Le strutture di controllo (condizionali e iterative)
- Introduzione a Python - Prima parte
Ricapitolazione dei concetti fondamentali della programmazione procedurale
- Esempio di algoritmo (diagramma di flusso, pseudocodice e codice Python)
- Descrizione dell'ambiente di programmazione Python
- Utilizzo di base
- Le variabili in Python
- Introduzione a Python - Seconda parte
Valori scalari, liste e strutture dati in Python
- Accedere agli elementi delle strutture dati
- Operazioni sulle variabili e sulle strutture dati
- Gli operatori
- Le strutture di controllo (if-elif-else, for, while)
- Durante le Esercitazioni, verranno inoltre illustrati, nella pratica, l'utilizzo di Excel e delle sue principali funzioni e verrà approfondito l'utilizzo di Python per la definizione di algoritmi per il trattamento e l'analisi dei dati.
Prerequisiti
Nessuno
Modalità didattica
Lezioni frontali (Dr. Blerina Spahiu)
16 lezioni da 2 ore in presenza, Didattica Erogativa
Esercitazioni in laboratorio (su turni distinti)
12 attività di laboratorio da 2 ore in presenza, Didattica Interattiva
Il corso viene erogato in lingua italiana
Materiale didattico
Testi consigliati (non obbligatori)
TEORIA e concetti di base:
Informatica. Una panoramica generale J. Glenn Brookshear Pearson
Informatica arte e mestiere. MacGrawHill
Python:
Introduzione a Python. Per l'informatica e la data science. Ediz. MyLab. Con Contenuto digitale per accesso on line Copertina flessibile, di Paul J. Deitel (Autore), Harvey M. Deitel (Autore), Pietro Codara (a cura di), Carlo Mereghetti (a cura di), Diego Valota (Traduttore).
Risorse online suggerite a lezione
Periodo di erogazione dell'insegnamento
Ottobre 2025 - Gennaio 2026
Modalità di verifica del profitto e valutazione
Prova al computer (in laboratorio o online): domande teoriche + esercizi pratici
6 domande con scelta a risposta multipla per il controllo estensivo di concetti teorici e teorico-pratici illustrati a lezione
1 domande aperta per il controllo intensivo della preparazione sul programma d'esame (aspetti teorici)
3 esercizi per la verifica dell'apprendimento dell'utilizzo di Excel, e della programmazione mediante l'utilizzo di Python.
Orario di ricevimento
Su appuntamento