Skip to main content
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
e-Learning - UNIMIB
  • Home
  • My Media
  • More
Listen to this page using ReadSpeaker
English ‎(en)‎
English ‎(en)‎ Italiano ‎(it)‎
You are currently using guest access
 Log in
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Science
  2. Bachelor Degree
  3. Scienze e Tecnologie Geologiche [E3402Q - E3401Q]
  4. Courses
  5. A.A. 2022-2023
  6. 1st year
  1. Introduction To Computer Science
  2. Summary
Insegnamento Course full name
Introduction To Computer Science
Course ID number
2223-1-E3401Q038
Course summary SYLLABUS

Course Syllabus

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

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 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

  • Introduzione al problema
  • I motori di ricerca
  • I sistemi di raccomandazione
  • L'accesso alle informazioni sui social media
  • Analisi dei dati sui social media

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

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 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. Marco Viviani)

Esercitazioni in laboratorio (su turni distinti)

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

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 Python.

Colloquio (facoltativo)

Orario di ricevimento

Su appuntamento

Export

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 to use Excel and Python to store, process and analyze data, produce graphs, implement algorithms

Detailed program

Introduction

  • Introduction to the course, organization of lectures and exercises.
  • What is information technology
  • Data and information
  • What are algorithms
  • Why computer science for the earth sciences.
  • G.I.S. (Geographical Information System).

History of Computer Science

  • Prehistory and early "steps" of computer science.
  • The definition of the theoretical foundations (logic, Boolean algebra, the first programs).
  • The electromechanical machines
  • The Turing machine
  • ENIAC and the ancestors of the digital computer.
  • Transistors, chips and microprocessors
  • The first personal computers
  • Data storage and transmission (protocols).
  • Moore's law
  • ARPANET and the path leading to the internet.
  • The spread to the general public of computers (before) and the network (after).

Computer architecture

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

Computer networks

  • The components of a computer network.
  • Classification of networks by extent
  • Classification of networks by topology
  • Classification of networks by transmission medium.
  • The communication protocols.
  • The Internet and the Internet of Things
  • The services of the Internet: Web, e-mail, DNS.

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 information access

  • Introduction to the problem.
  • The search engines
  • Recommender systems
  • The access to information on social media
  • Analysis of social media data.

The representation of data in the binary system

  • The numbering systems
  • The decimal system
  • The binary system
  • Conversion of numbers to different bases
  • The representation in modulus and sign
  • The representation in two's complement
  • Boolean algebra and electronic circuits.

The encoding of text, images and sound

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

Databases and the relational model

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

The SQL language

  • Definitions of schemas and instances in SQL.
  • Syntax and elementary domains.
  • Interrelational constraints
  • Projection and selection
  • Data selection from multiple tables.

Introduction to algorithms and programming

  • What is an algorithm
  • The properties of algorithms
  • Flowcharts (conditional instructions and loops).
  • The pseudocode
  • The programming languages
  • The programming paradigms

The procedural languages

  • Variables and constants
  • The assignment statements
  • The data types (elementary and derived).
  • The functions
  • The control structures (conditional and iterative).

Introduction to Python - Part One

  • Recapitulation of the fundamental concepts of procedural programming
  • Example algorithm (flowchart, pseudocode and Python code)
  • Description of the Python programming environment
  • Basic Usage
  • Variables in Python

Introduction to Python - Part Two

  • Scalar values, lists and data structures in Python
  • Accessing the elements of data structures
  • Operations on variables and data structures
  • Operators
  • Control structures (if-else, for, while).

During the Exercises, the use of Excel and its main functions will also be demonstrated in practice, and the use of Python for defining algorithms for data processing and analysis will be explored.

Prerequisites

None

Teaching form

Lectures (Dr. Marco Viviani)

Laboratory exercices (different teaching shifts)

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

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).

Online resources suggested in class

Semester

March - June 2020

Assessment method

Computer test (in a laboratory or online): theoretical questions + practical exercises

  • 6 questions with multiple choice for the extensive control of theoretical and theoretical-practical concepts illustrated in class
  • 1 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 Python.

Oral test (optional)

Office hours

By appointment

Enter

Key information

Field of research
INF/01
ECTS
6
Term
Second semester
Activity type
Mandatory
Course Length (Hours)
52
Degree Course Type
Degree Course
Language
Italian

Staff

    Teacher

  • Marco Viviani
    Marco Viviani

Students' opinion

View previous A.Y. opinion

Bibliography

Find the books for this course in the Library

Enrolment methods

Manual enrolments
Self enrolment (Student)

You are currently using guest access (Log in)
Policies
Get the mobile app
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy policy
  • Accessibility
  • Statistics