FONDAMENTI DI INFORMATICA. Andrea Fusiello

Documenti analoghi
Le aree dell informatica

Elementi di Informatica e Programmazione

Il calcolatore. Architettura di un calcolatore (Hardware)

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Evoluzione del calcolatore e fondamenti della programmazione

Ingegneria del Software

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Internet (- working). Le basi.

Elementi di informatica

Fondamenti di Informatica

Storia e evoluzione dei sistemi di calcolo

Sistemi Web per il turismo - lezione 3 -

Calcolatori Elettronici

Algoritmi. Un tema centrale dell informatica è lo studio degli algoritmi.

Breve storia del calcolo automatico


Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Modulo: Elementi di Informatica

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1

Corso di Informatica

ORGANIZZAZIONE DEI CALCOLATORI INTRODUZIONE

SUMMER SCHOOL Ingegneria Informatica. Angelo Morzenti coordinatore del Corso di Studi

Piccoli Ingegneri Informatici

Università degli Studi di Messina, Palazzo Mariani Piazza Antonello, Messina

Caratteristiche di un PC

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Corso di Informatica

FONDAMENTI DI INFORMATICA

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Introduzione all informatica (cosa è, di cosa si occupa) 9/2/2015 Informatica applicata alla comunicazione multimediale Cristina Bosco

Fondamenti di informatica: un po di storia

SISTEMA INFORMATIVO E SISTEMA INFORMATICO. Sistema informativo e sistema informatico

Corso di Laurea in Informatica Università di Ferrara. Incontro di orientamento per le scuole superiori A.A

Ingegneria del Software. Business Object Technology

Modulo 1 Software e Reti. Prof.ssa Francesca Rammairone

Origini e caratteristiche dei calcolatori elettronici

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1

Parte I. Evoluzione dei Sistemi di Elaborazione (a.a )

PG5 Starter Training Applicazione File System Daniel Ernst EN Stefano Peracchi IT

Algebra di Boole Algebra di Boole

Informatica. Scopo della lezione

Corsi di Laurea in Scienze e Tecnologie Informatiche

Software e Algoritmi. Lezione n. 3

Corso di Informatica

International Institute of Business Analysis

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

1 Multipli di un numero

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1

32 Laurea magistrale in Informatica Scienze

Informatica Teorica. Macchine a registri

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

A parte alcuni dispositivi rudimentali dell'antichità classica, non vi furono progressi tecnologici rilevanti fino a circa il 1650 Per tre secoli,

( Anno scolastico 2011/2012)

Analisi e Programmazione

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Fondamenti di informatica: un po di storia

Come si progetta un circuito Perché simulare un circuito Cosa vuol dire simulare un circuito Il Simulatore Pspice Pacchetti che contiene Pspice

EVOLUZIONE dei SISTEMI e delle TECNICHE DI GESTIONE DELLE FUNZIONI AZIENDALI

Architettura dei calcolatori. Moreno Marzolla

Storia dell informatica

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE

EQUAZIONI E DISEQUAZIONI GONIOMETRICHE

LOGISTICA. Informatica. Scopo della lezione. Bibliografia. corso di laurea in Scienze Geologiche

Algoritmi e basi del C

Fondamenti di Informatica. Allievi Automatici A.A Nozioni di Base

Automation Software Developement

Breve storia dei sistemi di calcolo

Modelli matematici e Data Mining

QUADRANTE SERVIZI SVILUPPI ICT

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Lezione 3 Progettazione di siti

Steel&Graphics srl Via Cà Nova Zampieri 4/E San Giovanni Lupatoto VR Tel. 045/ Fax. 045/

Reti di Calcolatori ed Internet. Reti di Calcolatori ed Internet. Reti di Calcolatori. Reti di Calcolatori. Architettura dei Servizi di Rete

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

(5 crediti) Materiale Trasparenze integrativo. corso, disponibili sul sito del corso

Chapter 6 Selected Design Topics

Hardware e Software. 09/10/01 Introduzione all'informatica 1. Il Computer. Il computer è un elaboratore elettronico digitale:

Internet protocol stack

Fondamenti di Informatica 2. Storia dei sistemi di calcolo

INFORMATICA. Prof. MARCO CASTIGLIONE. Istituto Tecnico Statale Tito Acerbo - PESCARA

Il concetto di informatica. Bogdan Maris ( )

Cos è il CRM. Andrea De Marco

L evoluzione dei calcolatori

Files in C++ Fondamenti di Informatica. R. Basili. a.a

Supercalcolo e Grid: le infrastrutture per la ricerca del nuovo millennio. P. Govoni Universita ed INFN Milano-Bicocca

Tecnologie dei Sistemi di Automazione e Controllo

Informatica giuridica (corso propedeutico) 1

AE RZT QSO RKPT SQZC

Un po di storia. Fu Herman Hollerith, nel 1890, a sviluppare la macchina a schede perforate

UniRoma2 - Ingegneria del Software 1 1

CIM Computer Integrated Manufacturing

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Corso di Automazione Industriale 1. Capitolo 2

CALCOLATORI ELETTRONICI A cura di Luca Orrù

Laboratorio software. A.A C. Brandolese

Foglio elettronico e Banche dati e per la Pubblica Amministrazione

Sistemi di Elaborazione (10 CFU)

Procedura operativa per la gestione della funzione di formazione classi prime

Transcript:

FONDAMENTI DI INFORMATICA Andrea Fusiello

Informatica! Scienza dei calcolatori (Computer Science) o Scienza dell informazione? L informatica è la scienza che studia l elaborazione delle informazioni L informatica è la scienza degli algoritmi che descrivono e trasformano l informazione: la loro teoria, analisi, progetto, efficienza, realizzazione ed applicazione [ACM - Association for Computing Machinery] Information and Communication Technology (ICT)

Informazione! L'informazione è ciò che, per un recettore posto in una situazione in cui si hanno almeno due occorrenze possibili, supera un'incertezza e risolve un'alternativa, cioè sostituisce il noto all'ignoto, il certo all'incerto. In altre parole, essa riguarda il contesto in cui i dati sono raccolti, la loro codifica in forma intelligibile e -- in definitiva -- il significato attribuito a tali dati, [Wikipedia] Precisazione: i dati sono valori che non hanno significato se non in se stessi, mentre l'informazione è ciò che il recettore del dato ricava dalla sua interpretazione.

Algoritmo! Sequenza di passi che definiscono il modo in cui viene eseguita un operazione. Una volta definito un algoritmo per eseguire un determinato compito, svolgerlo. non richiede più alcuna conoscenza sui principi su cui l algoritmo si basa. La conoscenza necessaria per svolgere il compito è tutta codificata nell algoritmo, di modo che l esecuzione diventa meccanica (= fattibile da una macchina) Programma: un algoritmo espresso come sequenza di istruzioni che una macchina è in grado di interpretare ed eseguire.

Algoritmo di Euclide per MCD! Descrizione: questo algoritmo riceve in input due interi positivi e ne calcola il massimo comune divisore. Procedura Passo 1 Si assegni a M e a N, rispettivamente, il valore maggiore e minore dei due valori di ingresso. Passo 2 Si divida M per N, e si denomini il resto R. Passo 3 Se R non è 0, si assegni a M il valore di N, si assegni a N il valore di R, e si ritorni al Passo 2; altrimenti, il massimo comune divisore è il valore assegnato a N.

Evoluzione delle capacità! Macchine a funzione fissa: Macchina di Pascal (1642) per le addizioni, calcolatore di Atanasoff Berry (1941) costruito per risolvere sistemi di equazioni lineari. Macchine programmabili: macchina analitica di Babbage (1837), ENIAC (1946) Macchine a programma memorizzato (Von Neumann, 1945), prima realizzazione nel 1948.

Evoluzione dellʼhadware! Ingranaggi Relè Valvola termoionica Transistor Transistor VLSI

Timeline! 1939 Prime macchine elettromeccaniche (es. Mark I nel 1944) 1941 Prima macchina a valvole termoioniche (Atanasoff Berry) poi Colossus e ENIAC (1946) 1955 transistor rimpiazzano le valvole (es. IBM 1401 del 1960 all-transistorized) 1960 circuiti integrati, minicomputer (es PDP-11 del 1970) 1970 microprocessore 1975 Olivetti P6060, uno dei primi PC, seguono Apple I (1976) e IBM PC (1981) 1982 Compaq introduce il primo clone 1983 Apple Lisa, prima interfaccia grafica 1984 Psion Organizer, primo palmtop computer (o PDA). Segue Palm nel 1996. 1994 IBM Simon, primo PDA+telefono (smartphone). Segue Nokia Communicator nel 1996

Mark I

The all-transistorized IBM 1401 Data Processing System

DEC PDP-11

IBM PC

Apple Lisa

Palm Pilot

Internet timeline! 1961 Commutazione di pacchetto 1969 ARPANET, 4 nodi 1974 viene formalizzato il TCP/IP (appare il termine Internet ) 1983 ARPANET adotta TCP/IP 1973-1990 processo di unione di reti, nasce Internet ~1990 Internet si apre ad operatori commerciali 1989, Tim Berners-Lee (CERN) inventa HTTP 1994 Lycos primo motore di ricerca 1998 Google

Astrazione! Distinzione tra le proprietà esterne di un entità ed i dettagli della sua struttura interna. L astrazione permette di costruire, analizzare e gestire sistemi complessi che non sarebbero comprensibili nella loro interezza se considerassimo i dettagli tutti assieme.

Astrazione in informatica! Computer science commonly presents levels of abstraction, wherein each level represents a different model of the same information and processes, but uses a system of expression involving a unique set of objects and compositions that apply only to a particular domain. Each relatively abstract, "higher" level builds on a relatively concrete, "lower" level, which tends to provide an increasingly "granular" representation. For example, gates build on electronic circuits, binary on gates, machine language on binary, programming language on machine language, applications and operating systems on programming languages.

Astrazione in ingegneria! Designing and building things that work is at the heart of engineering. Engineers have to work together in teams to build complex systems, whether software, hardware, cars, planes, or bridges. This complexity is a major source of engineering cost and errors The solution to complexity is abstraction, also known as information hiding. Abstraction is simply the removal of unnecessary detail. The idea is that to design a part of a complex system, you must identify what about that part others must know in order to design their parts, and what details you can hide. The part others must know is the abstraction.

Astrazione in generale! L astrazione consiste nell eliminare tutti i dettagli ininfluenti (in un certo contesto) per concentrare l analisi sulle variabili determinanti. L astrazione è il processo di riduzione dei dettagli in una rappresentazione della realtà, al fine di concentrare l analisi e lo studio sui fattori determinanti dei fenomeni. Sostituire una situazione del mondo reale complessa e particolareggiata con un modello comprensibile e privo di dettagli inessenziali, all interno del quale si possa risolvere il problema.

Ingegneria, complessità e astrazione! L ingegnere deve essere preparato a gestire la compessità dei sistemi. Se ci riflettete, questa capacità è il filo rosso che lega tutte le specialità dell ingegneria. L astrazione è lo strumento principale per affrontare il compito.