Vai al contenuto principale
Se prosegui nella navigazione del sito, ne accetti le politiche:
  • Condizioni di utilizzo e trattamento dei dati
Prosegui
x
Se prosegui nella navigazione del sito, ne accetti le politiche:
  • Condizioni di utilizzo e trattamento dei dati
Prosegui
x
e-Learning - UNIMIB
  • Home
  • Altro
Ascolta questa pagina con ReadSpeaker
Italiano ‎(it)‎
English ‎(en)‎ Italiano ‎(it)‎
Ospite
 Login
e-Learning - UNIMIB
Home
Percorso della pagina
  1. Area di Scienze
  2. Corso di Laurea Triennale
  3. Scienze e Tecnologie Geologiche [E3402Q - E3401Q]
  4. Insegnamenti
  5. A.A. 2020-2021
  6. 1° anno
  1. Informatica per le Scienze della Terra
  2. Introduzione
Insegnamento Titolo del corso
Informatica per le Scienze della Terra
Codice identificativo del corso
2021-1-E3401Q038
Descrizione del corso SYLLABUS

Syllabus del corso

  • Italiano ‎(it)‎
  • English ‎(en)‎
Esporta

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. 


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 l’organizzazione, l’analisi e la visualizzazione dei dati
  • Familiarizzare con il concetto di base di dati relazionale e linguaggio di interrogazione SQL
  • Familiarizzare con gli algoritmi
  • Mettere in pratica le teorie in applicazioni concrete
  • Imparare ad utilizzare Matlab ed Excel per implementare algoritmi, immagazzinare, processare e analizzare dati, e produrre grafici.

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)

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

  • Introduzione al problema
  • I motori di ricerca
  • I sistemi di raccomandazione
  • L'accesso alle informazioni sui social media
  • Analisi dei dati sui social media
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

La rappresentazione dei dati nel sistema binario

  • 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

Architettura del calcolatore

  • L'hardware
  • L'architettura di Von Neumann
  • CPU, Memoria, I/O, BUS
  • Il software
  • Il sistema operativo

I database e il modello relazionale

  • Dati e informazioni
  • Sistemi informativi
  • Il sistema informatico
  • Basi di dati
  • Sistemi di gestione di basi di dati
  • Il modello relazionale
  • Relazioni tra tabelle (uno a uno, uno a molti, molti a molti)

Il linguaggio SQL

  • Definizioni di schemi e di istanze in SQL
  • Sintassi e domini elementari
  • Vincoli interrelazionali
  • Proiezione e selezione
  • Selezione dei dati da più tabelle

Introduzione agli algoritmi e alla programmazione

  • 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 MATLAB - Prima parte

  • Ricapitolazione dei concetti fondamentali della programmazione procedurale
  • Esempio di algoritmo (diagramma di flusso, pseudocodice e codice MATLAB)
  • Descrizione dell'ambiente di programmazione MATLAB
  • Utilizzo di base
  • Le variabili in MATLAB

Introduzione a MATLAB - Seconda parte

  • Valori scalari, vettori e matrici in MATLAB
  • Inizializzare vettori e matrici
  • Accedere agli elementi di vettori e matrici
  • Operazioni sulle matrici
  • Gli operatori in MATLAB (aritmetici, di confronto, logici)
  • Le strutture di controllo in MATLAB (if-else, switch-case, while, for)

Durante le Esercitazioni, verranno inoltre illustrati, nella pratica, l'utilizzo di Excel e delle sue principali funzioni e verrà approfondito l'utilizzo di MATLAB per la definizione di algoritmi per il trattamento e l'analisi dei dati.

Prerequisiti

Nessuno

Modalità didattica

  • Lezioni frontali (Dr. Marco Viviani)
  • Esercitazioni in laboratorio (turno "A-G" [TUGEA]: Dr. Davide Maspero; turno "H-Z" [TUGEB]: Dr. Giuseppe Dattola)

  • 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

MATLAB: testi per approfondire 

  • Munther Gdeisat, Francis Lilley. Matlab by Example. Programming Basics 2013. Elsevier 
  • M.H.Trauth - MATLAB Recipes for Earth Sciences. Springer 
  • Dave Heslop. An Introduction to MATLAB for Geoscientists, 2012. Risorsa Online 

Risorse software (obbligatorie)

Software installabili con licenza unimib:

  • MATLAB (Windows/Mac): https://unimibit.sharepoint.com/portale/service-desk/SitePages/Area%20download%20-%20Studenti.aspx
  • Microsoft Excel (Windows/Mac)
Per il download, è necessario accedere alla propria pagina personale.

Periodo di erogazione dell'insegnamento

Marzo - giugno 2020

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, della conoscenza del linguaggio SQL, dei concetti fondamentali della programmazione mediante l'utilizzo di MATLAB.
  • Colloquio (facoltativo)

Orario di ricevimento

Su appuntamento:

  • Dr. Marco Viviani (marco.viviani@unimib.it)
  • Dr. Giuseppe Dattola (giuseppe.dattola@unimib.it)
  • Dr. Davide Maspero (davide.maspero@unimib.it)

Esporta

Aims

The main objective of the course is to provide fundamental expertise and practical skills on computer science and data analysis, with particular focus on the possible applications to the sphere of geological sciences. 

Contents

  • The course will allow to: 
  • Understand what computer science is
  • Know the history of computer science
  • Understand what computer science is important in geological sciences
  • Learning notions related to network technologies, understanding the difference between the Internet and the Web
  • Understanding the problem of access to data and information
  • Understand the logic and architecture of computers
  • Become familiar with the organization, analysis, and visualization of data
  • Become familiar with the concept of relational database and SQL query language
  • Become familiar with algorithms 
  • Transform theories into practical applications
  • Learn how using Matlab and Excel to develop algorithms, store, process and analyze data, and produce graphs.

Detailed program

Introduction

  • Introduction to the course, organization of lessons and exercises
  • What is computer science
  • Data and information
  • What are the algorithms
  • Why computer science for Earth Sciences
  • G.I.S. (Geographical Information Systems)

History of Computer Science

  • Prehistory and the first "steps" of computer science
  • The definition of the theoretical foundations (logic, Boolean algebra, the first programs)
  • Electromechanical machines
  • Turing's machine
  • ENIAC and the ancestors of the digital computer
  • Transistors, chips, and microprocessors
  • The first personal computers
  • Storage and transmission of data (protocols)
  • Moore's law
  • ARPANET and the path that leads to the Internet
  • The dissemination to the general public of computers (first) and the networks (after)

Internet and the Web

  • Difference between the Internet and the Web
  • The World Wide Web
  • Static Web and Dynamic Web
  • Web 1.0, 2.0, 3.0, 4.0
  • The social Web

The problem of access to information

  • Introduction to the problem
  • Search engines
  • Recommendation systems
  • Access to information on social media
  • Analysis of data on social media

Computer networks

  • The components of a computer network
  • Network classification by extension
  • Classification of networks by topology
  • Network classification by transmission medium
  • Communication protocols
  • Internet and Internet of Things
  • Internet services: Web, e-mail, DNS

The representation of data in the binary system

  • The numerical systems
  • The decimal system
  • The binary system
  • Conversion of numbers to different bases
  • Signed number representations
  • The representation in two's complement
  • Boolean algebra and electronic circuits

The coding of texts, images, and sound

  • The representation of the text
  • The characters
  • The ASCII and Unicode representation systems
  • The representation of images
  • Raster graphics
  • Vector graphic
  • The representation of sound
  • Audio sampling
  • Audio quality in digital representation

Computer architecture

  • The hardware
  • The architecture of Von Neumann
  • CPU, Memory, I / O, BUS
  • The software
  • The operating system

Databases and the relational model

  • Data and information
  • Informative system
  • The computer system
  • Databases
  • Database management systems
  • The relational model
  • Relationships between tables (one to one, one to many, many to many)

The SQL language

  • Schema and instance definitions in SQL
  • Syntax and elementary domains
  • Interrelational constraints
  • Projection and selection
  • Selection of data from multiple tables

Introduction to algorithms and programming

  • What is an algorithm
  • The properties of the algorithms
  • Flow charts (conditional instructions and cycles)
  • The pseudocode
  • Programming languages
  • Programming paradigms

Procedural languages

  • Variables and constants
  • Assignment instructions
  • Data types (elementary and derivatives)
  • Functions
  • Control structures (conditional and iterative)

Introduction to MATLAB - First part

  • Summary of the fundamental concepts of procedural programming
  • Algorithm example (flow chart, pseudocode and MATLAB code)
  • Description of the MATLAB programming environment
  • Basic use
  • The variables in MATLAB

Introduction to MATLAB - Second part

  • Scalar values, vectors, and matrices in MATLAB
  • Initialize vectors and matrices
  • Access elements of vectors and matrices
  • Matrix operations
  • The operators in MATLAB (arithmetic, comparison, logic)
  • The control structures in MATLAB (if-else, switch-case, while, for)

During the Exercises, the use of Excel and its main functions will be illustrated in practice, and the use of MATLAB for the definition of algorithms for data processing and analysis will be discussed in depth.

Prerequisites

None

Teaching form

  • Lectures (Dr. Marco Viviani)
  • Laboratory exercices (turno "A-G" [TUGEA]: Dr. Davide Maspero; turno "H-Z" [TUGEB]: Dr. Giuseppe Dattola)

  • The course is delivered in Italian

Textbook and teaching resource

Suggested textbooks (in Italian language)

Fundamentals of computer science

  • Informatica. Una panoramica generale J. Glenn Brookshear Pearson
  • Informatica arte e mestiere. MacGrawHill

MATLAB

  • Munther Gdeisat, Francis Lilley. Matlab by Example. Programming Basics 2013. Elsevier 
  • M.H.Trauth - MATLAB Recipes for Earth Sciences. Springer 
  • Dave Heslop. An Introduction to MATLAB for Geoscientists, 2012. Risorsa Online 

Software (compulsory)

Software available with unimib licence:

  • MATLAB (Windows/Mac): https://unimibit.sharepoint.com/portale/service-desk/SitePages/Area%20download%20-%20Studenti.aspx
  • Microsoft Excel (Windows/Mac)

Please access with unimib user and password at your personal page.

Semester

March - June 2020

Assessment method

  • Computer test (in a laboratory or online): theoretical questions + practical exercises
    • 5 questions with multiple choice for the extensive control of theoretical and theoretical-practical concepts illustrated in class
    • 3 open questions for intensive preparation control on the exam program (theoretical aspects)
    • 3 exercises for verifying the learning of using Excel, the knowledge of the SQL language, the fundamental concepts of programming using MATLAB.
  • Oral test (optional)

Office hours

By appointment:

  • Dr. Marco Viviani (marco.viviani@unimib.it)
  • Dr. Giuseppe Dattola (giuseppe.dattola@unimib.it)
  • Dr. Davide Maspero (davide.maspero@unimib.it)

Entra

Scheda del corso

Settore disciplinare
INF/01
CFU
6
Periodo
Secondo Semestre
Tipo di attività
Obbligatorio
Ore
52
Tipologia CdS
Laurea Triennale

Staff

    Docente

  • GD
    Giuseppe Dattola
  • DM
    Davide Maspero
  • Dagmawi Delelegn Tegegn
    Dagmawi Delelegn Tegegn
  • Marco Viviani
    Marco Viviani
  • Esercitatore

  • SP
    Simone Pilia

Opinione studenti

Vedi valutazione del precedente anno accademico

Bibliografia

Trova i libri per questo corso nella Biblioteca di Ateneo

Metodi di iscrizione

Iscrizione manuale
Iscrizione spontanea (Studente)

Ospite (Login)
Politiche
Ottieni l'app mobile
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy
  • Accessibilità
  • Statistiche