Codice
9788891644817
Reparto
Autore
Editore
Tipologia
Libri
Data pubblicazione
9 set 2020
Collana
Pagine
678

INFORMATICA

Sottotitolo
Algoritmi, architetture, linguaggi, applicazioni
Prezzo di listino 52,00 €
Prezzo a te riservato 49,40 €
Condividilo on-line
Il volume si rivolge in primo luogo agli studenti di un corso di laurea in area scientifica o ingegneristica che debbano affrontare un unico insegnamento di Informatica, nel quale vengono passati in rassegna tutti i diversi aspetti della disciplina.
Il testo è organizzato per livelli, a partire dai fondamenti algoritmici, per passare alle architetture hardware e software, alla programmazione in linguaggi di alto livello, alle applicazioni; il capitolo conclusivo affronta le più rilevanti implicazioni etiche e sociali dell’informatica.
Scopo principale degli autori è presentare l’informatica non come un insieme di strumenti e tecnologie, ma come una disciplina di base, che gioca un ruolo fondamentale, al pari della chimica o della fisica, in qualsiasi percorso formativo in ambito scientifico e tecnologico.
Capitolo 1 Introduzione all’informatica

1.1 Introduzione

1.2 Definizione di informatica

1.3 Algoritmi

1.3.1 La definizione formale di algoritmo

1.3.2 L’importanza della soluzione algoritmica dei problemi

1.4 Una breve storia dell’informatica

1.4.1 Il primo periodo: fino al 1940

1.4.2 La nascita dei computer: 1940-1950 VON NEUMANN (1903-1957)

1.4.3 L’età moderna: dal 1950 a oggi

1.5 Organizzazione del testo

Livello 1 I fondamenti algoritmici dell’informatica

Capitolo 2 Progettazione di algoritmi

2.1 Introduzione

2.2 Rappresentazione di algoritmi

2.2.1 Pseudocodice

2.2.2 Operazioni da eseguire in sequenza

2.2.3 Operazioni condizionate e iterative

2.3 Esempi di soluzione algoritmica di problemi

2.3.1 Esempio 1: Procedi e calcola un prodotto

2.3.2 Esempio 2: Cerca, cerca, cerca

2.3.3 Esempio 3: Grande, maggiore, massimo

2.3.4 Esempio 4: Trovare una corrispondenza

2.4 Conclusioni

Capitolo 3 L’efficienza degli algoritmi

3.1 Introduzione

3.2 Caratteristiche degli algoritmi

3.3 Misurare l’efficienza

3.3.1 Ricerca sequenziale

3.3.2 Ordine di grandezza – Ordine n

3.3.3 Ordinamento per selezione

3.3.4 Ordine di grandezza – Ordine n2

3.4 Analisi di algoritmi

3.4.1 Algoritmi di pulizia dei dati

3.4.2 Ricerca binaria

3.4.3 Pattern matching

3.4.4 Riassunto

3.5 Quando le cose sfuggono di mano

3.6 Riassunto del Livello 1

Livello 2 Il mondo dell’hardware

Capitolo 4 Elementi costruttivi: numeri binari, logica booleana e porte

4.1 Introduzione

4.2 Il sistema di numerazione binario

4.2.1 Rappresentazione binaria di informazioni numeriche e di testo

4.2.2 Rappresentazione binaria di suoni e immagini

4.2.3 L’affidabilità della rappresentazione binaria

4.2.4 Dispositivi per la memorizzazione binaria

4.3 Logica booleana e porte

4.3.1 Logica booleana

4.3.2 Porte

4.4 Costruire circuiti per computer

4.4.1 Introduzione

4.4.2 Un algoritmo per la progettazione di circuiti

4.4.3 Esempi di progettazione e costruzione di circuiti

4.5 Circuiti di controllo

4.6 Conclusione

Capitolo 5 Organizzazione dei sistemi di calcolo

5.1 Introduzione

5.2 I componenti di un sistema di calcolo

5.2.1 Memoria e cache

5.2.2 Ingresso/uscita e archiviazione di massa

5.2.3 L’unità aritmetico/logica

5.2.4 L’unità di controllo

5.3 Tutto insieme: l’architettura di Von Neumann

5.4 Macchine non di Von Neumann

5.5 Riassunto del Livello 2

Livello 3 La macchina virtuale

Capitolo 6 Introduzione al software di sistema e alle macchine virtuali

6.1 Introduzione

6.2 Il software di sistema

6.2.1 La macchina virtuale

6.2.2 Diversi tipi di software di sistema

6.3 Assemblatori e linguaggio assembly

6.3.1 Il linguaggio assembly

6.3.2 Esempi di codice in linguaggio assembly

6.3.3 Traduzione e caricamento

6.4 Sistemi operativi

6.4.1 Funzioni di un sistema operativo

6.4.2 Panoramica storica dello sviluppo dei sistemi operativi

6.4.3 Il futuro

Capitolo 7 Reti di calcolatori e cloud computing

7.1 Introduzione

7.2 I concetti di base delle

7.2.1 Linee di comunicazione

7.2.2 Reti locali (LAN)

7.2.3 WAN

7.2.4 Struttura globale di Internet

7.3 Protocolli di comunicazione

7.3.1 Strato fisico (Physical layer)

7.3.2 Strato di linea (Data Link layer)

7.3.3 Strato di rete (Network layer)

7.3.4 Strato di trasporto (Transport layer)

7.3.5 Strato applicativo (Application layer)

7.4 Servizi di rete

7.4.1 Comunicazioni interpersonali

7.4.2 Reti sociali

7.4.3 Condivisione di risorse

7.4.4 Commercio elettronico

7.5 Cloud computing

7.6 La storia di Internet e del World Wide Web

7.6.1 La rete Internet

7.6.2 Il World Wide Web

7.7 Conclusioni

Capitolo 8 Sicurezza delle informazioni

8.1 Introduzione

8.2 Minacce e difese

8.2.1 Autenticazione e autorizzazione

8.2.2 Minacce dalla rete

8.2.3 Cappelli bianchi e cappelli neri

8.3 Cifratura

8.3.1 Panoramica sulla cifratura

8.3.2 Semplici algoritmi di cifratura

8.3.3 DES

8.3.4 Sistemi a chiave pubblica

8.4 Sicurezza nella trasmissione web

8.5 Calcolatori embedded

8.6 Conclusioni

8.7 Riassunto del Livello 3

Livello 4 Il mondo del software

Capitolo 9 Introduzione alla programmazione in linguaggi di alto livello

9.1 L’evoluzione dei linguaggi

9.1.1 A che punto siamo e dove vogliamo andare?

9.1.2 Ritorno al binario

9.2 Una famiglia di linguaggi

9.3 Due esempi in cinque parti coordinate

9.3.1 Numero favorito

9.3.2 Pulizia dei dati (di nuovo)

9.4 Analisi delle caratteristiche

9.5 Soddisfazione delle aspettative

9.6 Il quadro generale: l’ingegneria del software

9.6.1 Aumento delle dimensioni

9.6.2 Il ciclo di sviluppo del software

9.6.3 Ambienti moderni

9.6.4 Sviluppo agile di software

9.7 Conclusione

Capitolo 10 La Torre di Babele: i linguaggi di programmazione

10.1 Perché Babele?

10.2 Linguaggi procedurali

10.2.1 Plankalkül

10.2.2 Fortran

10.2.3 COBOL

10.2.4 C/C++

10.2.5 Ada

10.2.6 Java

10.2.7 Python

10.2.8 C# e .NET

10.3 Linguaggi per problemi specifici

10.3.1 SQL

10.3.2 HTML

10.3.3 JavaScript

10.3.4 R

10.4 Paradigmi di programmazione alternativi

10.4.1 Programmazione funzionale

10.4.2 Programmazione logica

10.4.3 Programmazione parallela

10.5 Nuovi linguaggi, di continuo

10.5.1 Go

10.5.2 Swift

10.5.3 Milk

10.6 Conclusione

Capitolo 11 Compilatori e traduzione di linguaggi

11.1 Introduzione

11.2 Il processo di compilazione

11.2.1 Fase I: Analisi lessicale

11.2.2 Fase II: Analisi sintattica (parsing)

11.2.3 Fase III: Semantica e generazione del codice

11.2.4 Fase IV: Ottimizzazione del codice

11.3 Conclusione

Capitolo 12 Modelli di computazione

12.1 Introduzione

12.2 Cos’è un modello?

12.3 Un modello di agente di calcolo

12.3.1 Proprietà di un agente di calcolo

12.3.2 La Macchina di Turing

12.4 Il modello di un algoritmo

12.5 Esempi di macchine di Turing

12.5.1 Un invertitore di bit

12.5.2 Un generatore di bit di parità

12.5.3 Macchine per l’operazione di incremento con numeri unari

12.5.4 Una macchina per l’addizione unaria

12.6 La tesi di Church-Turing

12.7 Problemi irrisolvibili

12.8 Conclusione

12.9 Riassunto del Livello 4

Livello 5 Le applicazioni

Capitolo 13 Simulazioni e modelli

Introduzione

Conclusione

Capitolo 14 Ecommerce, basi di dati e data science

Introduzione

Conclusione

Capitolo 15 Intelligenza artificiale

Introduzione

Conclusione

Capitolo 16 Grafica e intrattenimento al computer: film, giochi e comunità virtuali .

Introduzione

Conclusione

Riassunto del Livello 5

I capitoli 13-16 sono disponibili online

Livello 6 Gli aspetti sociali

Capitolo 17 Computer, informazione e società: prendere decisioni

17.1 Introduzione

17.2 Casi di studio

17.2.1 Caso 1 - Condivisione o furto?

17.2.2 Caso 2 - Intercettazioni legali: privacy o sicurezza?

17.2.3 Caso 3 – Hacker: nemici pubblici o seccatori stimolanti?

17.2.4 Caso 4 – Informazioni genetiche e ricerca medica

17.3 Vita privata e social media

17.4 Notizie false, politica e social media

17.5 Conclusione

17.6 Riassunto del Livello 6

Indice analitico

Programmare in Python (online)

Programmare in Java (online)

Programmare in C++ (online)

Programmare in C# (online)

Programmare in Ada (online)

Soluzioni degli esercizi (online)
Salva pagina in PDF Salva pagina in PDF