Fondamenti di informatica presentazione FONDAMENTI DI INFORMATICA di
- Slides: 77
Fondamenti di informatica - presentazione FONDAMENTI DI INFORMATICA di Matjaz Hmeljak 1
Fondamenti di informatica - presentazione QUESTA PRESENTAZIONE. . orario lezioni, ricevimento, . . finalita', contenuto. . piano del corso. . dove sta il corso. . modalita' esame. . bibliografia. . dati e storia. . storia "locale" 2
fondamenti di informatica - presentazione orario lezioni: MA 11 -13 ME 10 -11 GI 11 -13 per comunicare con il docente: tramite posta elettronica (e-mail), indirizzo: hmeljakm@univ. trieste. it orario ricevimento: Martedi' 13 -14 e Giovedi’ 13 -14, dove: stanza di Matjaz Hmeljak, al DEEI (Dipart. Elettronica, Elettrotecnica, Informatica) Edificio C 3 (parte nuova vicino il bar di ing) 2. o piano, stanza 209, tel. 676 71 32 3
fondamenti di informatica - presentazione 4 materiale su internet: ftp : // serving 4. units. it / arc_stud / hmeljak / (il tutto senza spazi!!) dove si trovano: aainformazioni testo di informazioni varie introduzione = questo materiale (i capitoli iniziali, formato ppt) partec = materiale per la programmazione in C++ (contiene i testi dei programmi in C++) i testi degli esami scritti degli ultimi 10 anni
Fondamenti di informatica - presentazione 5 FINALITA' DEL CORSO : * nozioni generali sull' informatica e sugli ambienti di uso e di programmazione dei calcolatori * conoscenza pratica della programmazione cioe’ capacita' di risolvere problemi elementari con l'uso di un linguaggio di programmazione e di algoritmi (“ricette”) imparati durante il corso limitatamente alla parte: istruz, sottoprogr, tabelle * uso pratico del calcolatore. . . per varie altre cose
6 Fondamenti di informatica - presentazione Contenuto [previsto] del corso di Fondamenti di informatica 1 AA 2002/2003 60 ore (circa 40 ore lezioni, 15 ore esercitazioni, 6 ore test) a) introduzione: informazione, codici, numeri interi e in virgola mobile, ( 6 ore circa ) il sistema di elaborazione dati: “ambienti” hardware e software ( 6 ore circa / tot 14 ) b) algoritmi (alcuni) e strutture dati (poche) e programmazione in linguaggio C++ (quanto basta) ( 30 ore ) e…
Fondamenti di informatica - presentazione 7 Continua contenuto del corso di Fondamenti di informatica 1: . . . ancora: e ) esercitazioni: uso: sistema operativo MS. Windows, sistema di sviluppo programmi Borland Builder il linguaggio C++ (13 ore/tot 57) f) (6 ore ). . . come spiegato meglio di seguito 3 test in aula
fondamenti di informatica - presentazione non entrano nel corso: 8 basi di dati scrittura e impaginazione tabelle e fogli elettronici (excel) programmazione visual reti di calcolatori, sistemi distribuiti, internet games, programmazione di rete programmazione in linguaggio macchina, microcodice, controllo di processi confronto con altri linguaggi di programmazione procedurali – come Basic, Cobol, Fortran, Java, Modula, Pascal, ecc linguaggi funzionali e logici come Lisp, ML, Prolog, Scheme, . . ecc
fondamenti di informatica - presentazione e ancora, non entrano nel corso: 9 robotica sistemi esperti, reti neurali, sistemi decisionali, sicurezza dei programmi, sicurezza dei sistemi distribuiti robustezza, virus, grafica (Autocad, Photo. Shop. . ), sistemi per produzione video, Progettazione Generativa, sistemi multimediali e virtuali, informatica musicale, informatica teorica e limiti dell’ informatica e molte altre cose. . .
fondamenti di informatica - presentazione . . . 10 l’informatica (gia' dal 1960 almeno) e’ troppo vasta per un corso solo. . . anzi, per una persona singola mentre 40 anni fa una persona poteva conoscere tutti gli argomenti dell’informatica (almeno superficialmente), da molto tempo questo non e’ piu’ possibile. . . vedi i libri "fondamenti di informatica". . . anche quelli con 800 pagine e piu' trattano in genere solo la parte "nozioni di cultura informatica generale" e non la parte di programmazione, o l'uso effettivo di applicativi
Fondamenti di informatica - presentazione 11 * cosa si dovra’ sapere di informatica tra 4 anni ? (+). . . * il sapere nuovo si fonda sul sapere precedente: buona parte delle cose che studieremo saranno ancora utili. . . * essenziale: imparare ** come si risolvono problemi “complicati”, ** come si studiano cose nuove. . . ** a lavorare da soli, anche se all'inizio – specie per chi ha difficolta' – conviene studiare in 2 o 3
Fondamenti di informatica - presentazione il materiale del corso e' disponibile in rete e/o in fotocopia (versione “vecchia” dell’anno scorso. . . ma valida al 90 % ) il laboratorio di informatica di facolta' che useremo e' collegato al calcolatore "serving 4" della facolta', dove sono memorizzate informazioni riguardo piani di studio, corsi, orari ecc, e e dove si trova anche il materiale del nostro corso (versione nuova) 12
Fondamenti di informatica - presentazione 13 DA RETE (con ftp o Netscape, Explorer ecc): http: //univ. trieste. it/ e poi vedere didattica, fac. ingegneria, servizi, ftp: //serving 4. univ. trieste. it/arc_stud/ e si arriva a questo materiale. . . ftp: //serving 4. univ. trieste. it/arc_stud/HMELJAK/ molti corsi di fondam. di informatica hanno il materiale (in tutto o parziale) in rete, (provare Alta. Vista, o altro sistema di ricerca su rete con le parole chiave “corso fondamenti informatica” es: www. ing. unipi. it/~ing_ele/fondinf. htm www. ingchim. ing. uniroma 1. it/clic/programmi/ fondinfo. html jeeves. cs. unitn. it/fondaminform/diario 10. 97. html ecc
Fondamenti di informatica - presentazione 14 materiale in rete di questo corso: ftp: //serving 4. units. it/arc_stud/hmeljak/… su server della facolta’ serving 4 archivio studenti arc_stud sottoarchivio Hmeljak testo aainformaz. fi sottoarchivi: introduzione e partec la parte introduttiva del corso (questa, poi codici, numeri, grammatiche) e' in formato "Powerpoint" (non e' un testo Word o simili, nemmeno testo ASCII semplice contiene informazioni sul formato delle dias e delle immagini. . )
Fondamenti di informatica - presentazione 15 serving 4 arc_stud hmeljak introduzione (in formato "Powerpoint" ) APRESEN. PPT BCODICI. PPT CNUMERI. PPT DAMBHW. PPT DAMBSW. PPT fotocopie in versione 6 dias per pagina coop vicino al bar di legge (versione qualche anno fa)
fondamenti di informatica - presentazione 16 parte linguaggio di programmazione – nel corso FI 1 usiamo il linguaggio C++ SOLO la parte base SENZA classi ed oggetti e SENZA ambiente visuale; faremo istruzioni, sottoprogrammi, tabelle il sistema C++ e’ installato su server in piu' versioni; useremo il Borland Builder 4 (ma per il corso basta il Turbo. C 3. 1 ( nato su DOS nel 91. . . per lavorare con esso basta un PC / 486, valore commerciale 20 euro ; -) NON e' indispensabile avere una macchina a casa, ma E' ESSENZIALE lavorare su una macchina e provare tutti gli esercizi sul calcolatore
fondamenti di informatica - presentazione 17 su PC: basta il Borland C++ versione 3. 1 (DOS, W 95) si trova in serving 4/arc_stud/hmeljak/ basta un PC / 486 per lavorare con questo. . . , (meglio: il Borland Builder - si trova su rete la versione demo) oppure MS C++ (Visual C). . su MAC: Metrowerks C++ o Symantec C++ (www. metrowerks. com) su UNIX o LINUX: GCC (GNU C Compiler), il sistema Borland, esistono varie versioni con interfaccia grafica
Fondamenti di informatica - presentazione * MODALITA’ DI ESAME DI F. I. caso 1) : -> test intermedi previsti 3 test a distanza di un mese circa <<==== conviene fare l'esame in questo modo ! warning: NON previsti dei test di recupero 18
Fondamenti di informatica - presentazione 19 CONSIGLIO ovvero AVVISO ovvero NOTA BENE: ->> conviene fare i test intermedi: in gennaio avete GIA` fatto l’esame di informatica. . . MA: ( storia che si ripete ) quasi tutti gli studenti fanno il primo test, 2/3 degli studenti fa il 2. o test, 3/5 fa tutti i test. . .
Fondamenti di informatica - presentazione 20 NOTA IMPORTANTE: conviene seguire fin dall’inizio LEZIONI e ESERCITAZIONI. . . attenzione sara' banale ; -) ma. . . >> NON basta essere presenti in aula << e’ necessario tenersi aggiornati, fare esercizi alla fine del corso, anche coloro che non hanno mai toccato una tastiera e non sanno nulla di calcolatori saranno in grado risolvere qualche semplice problema con un programma
Fondamenti di informatica - presentazione 2) Caso due: se non segui le lezioni e/o se non fai i test positivi: modalita’ “classica” ovvero esame standard negli appelli regolari: inverno / 3 appelli gennaio / febbraio estate autunno / 3 appelli giugno / luglio / 2 appelli settembre altri appelli in periodi di lezione: riservati agli studenti fuori corso 21
Fondamenti di informatica - presentazione esame standard: prova scritta (vale SOLO per 1 appello; prova orale (su tutta la materia del corso) attenzione: richiesto: nozioni di fondamenti di informatica conoscenza pratica effettiva di programmazione (C o equivalente) 22
Fondamenti di informatica - presentazione BIBLIOGRAFIA: 1) per la parte introduttiva: QUESTO STESSO MATERIALE e/o qualunque libro tipo “ fondamenti di. . . elementi di. . . introduzione all’. . . informatica", (senza la parte programmazione) ad esempio: "Introduzione all’informatica", di Paolo Tosoratti, ed. Ambrosiana, 1998, 48. 000 lire, 400 pagine, "Informatica" di G. Vercelli e R. Zaccaria, 1998 Editoriale Scientifica, 40. 000 lire oppure ancora: “Informatica di base” di D. Curtin, K. Foley, K. Sen, C. Morin, Mc. Graw Hill It. , 1999, 49. 000 lire [suggerimento: andare di persona in una libreria e prendere un libro del genere secondo i gusti personali. . . ] 23
Fondamenti di informatica - presentazione 2) bibliografia per la parte programmazione. . . IL MATERIALE CHE STA NELLA CARTELLA "PARTEC" serving 4. . . /arc_stud/hmeljak/partec/. . . libri sulla programmazione in C++: Schildt (noi ne facciamo 1/3) Crivellari, Domenici Frosini, (sconsigliato: Kernigan Plaugher ) e / o libri …da consultare : Aho Ullmann (ottimo: parte principale algoritmi) Wirth (Algoritmi + Strutt. dati = Programmi 24
Fondamenti di informatica - ambienti HW e SW Gli ambienti dell’Informatica hardware computer periferiche rete (network) (non trattato qui) software sistema operativo linguaggi di programmazione interfacce di lavoro applicazioni (non trattato qui) 25
Fondamenti di informatica - ambienti HW e SW 26 un calcolatore elettronico e’ una macchina (un sistema) per memorizzare / elaborare / organizzare / accedere a “informazioni” sentire (leggere, ascoltare, . . . ) dei segnali in ingresso / emettere (scrivere, disegnare, . . . ) dei segnali in uscita il tutto in base a sequenze di istruzioni prememorizzate dette “programmi”
Fondamenti di informatica - ambienti HW e SW un calcolatore e’ fatto da molte (+) parti in parte componenti “fisici” (hanno un volume, un peso, funzionano con una certa velocita’, consumano corrente, si guastano, . . . ) detti HARDWARE (*) in parte componenti di informazione, non fisici, come programmi e dati, (si trasmettono, si copiano, si eseguono, si modificano, . . . ) detti SOFTWARE ------------------------------------------- (*) inglese: ferramenta (+) milioni. . . 27
Fondamenti di informatica - presentazione calcolatore = macchina, puo’ fare molte cose: MA sempre eseguendo istruzioni ( istruzioni macchina, abbastanza semplici), l’insieme delle istruzioni sono i programmi - un calcolatore fa qualcosa SOLO eseguendo dei programmi l’ insieme dei programmi = SOFTWARE esecuzione realizzata dai componenti “fisici” (hanno un volume, un peso, funzionano con una certa velocita’, consumano corrente, si guastano, . . . ) = HARDWARE 28
IL RUOLO DEL CALCOLATORE . . . principalmente esecutivo 29
uso del calcolatore un calcolatore (HW e SW) 30 puo’ essere usato * come strumento di lavoro, ad es. come macchina di gestione di immagini (“macchina” Photoshop) oppure per gestire testi (“macchina” Word) o scrivere musica (“macchina" Finale) -->> uso da UTENTE * come strumento per fare strumenti, cioe’ per fare programmi nuovi, (“macchina” C++) -->> uso da PROGRAMMATORE
IL RUOLO DELL’UTENTE Un UTENTE è colui che impara a utilizzare il calcolatore in un certo dominio di problemi (contesto di lavoro) con i programmi “relativi” al dominio che sono forniti “a corredo” del calcolatore stesso. Esempio: AUTOMAZIONE DI UFFICIO – rete di PC con stampanti e altre perifiche collegate – interfaccia a finestre – programmi di videoscrittura integrati con fogli elettronici e basi di dati L’utente lavora su un problema con uno strumento = la macchina estesa = il calcolatore (HW+SW) 31
IL RUOLO DEL PROGRAMMATORE il progetto di un sistema, lo sviluppo degli algoritmi, l’assemblaggio dei pezzi gia’ disponibili la scrittura dei pezzi nuovi e la trasformazione del tutto in un programma rimane nella sfera del “homo informaticus” Quindi un ruolo eminentemente “creativo”. 32
33 Algoritmo e Programma ALGORITMO = una ricetta per risolvere un problema = una lista finita di istruzioni eseguibili (*), non ambigue che descrivono un processo di elaborazione ("un conto") = processo = sequenza finita di passi/operazioni da eseguire “fedelmente” (come da istruzioni della lista detta sopra) per ottenere, in un tempo finito, il risultato, cioe' la soluzione del problema assegnato - per definizione, un algoritmo funziona! (*) Nota: un algoritmo e' sempre destinato ad un esecutore, uomo o macchina che sia; le istruzioni devono essere eseguibili dall'esecutore.
Algoritmo e Programma 34 Definizione di ALGORITMO : = lista finita di istruzioni eseguibili, non ambigue e non casuali che, eseguita, da' luogo ad un processo di elaborazione cioe' ad una sequenza finita di passi o operazioni (ciascuno finito) che produce in un tempo finito, (cioe' con un numero di passi finito) la soluzione del problema assegnato = produce un risultato se la lista delle istruzioni non e' finita, o se vi sono istruzioni ambigue o non eseguibili, o se eseguendo la lista, si inizia un processo di elaborazione che non finisce oppure non produce alcun risultato - allora NON e' un algoritmo
Algoritmo e Programma 35 Da un punto di vista piu'astratto, un algoritmo produce a partire da un dato (o un insieme di dati) un risultato: Un algoritmo e' una funzione che fa corrispondere ad un dato un risultato. Si osservi che un algoritmo in genere funziona per (e' applicabile a) un insieme limitato di dati, se i dati non sono corretti l'algoritmo puo' non produrre alcun risultato, oppure produce un risultato errato: diremo che l'algoritmo non e' applicabile a tali dati. Un programma e' un algoritmo scritto in un linguaggio comprensibile ad un calcolatore (attenz: non viceversa!)
Algoritmo e Programma ALGORITMO = una ricetta del tipo visto; PROGRAMMA = sequenza finita di istruzioni che codificano in modo comprensibile al calcolatore quali operazioni devono essere eseguite per ottenere il risultato richiesto. Nota: un programma puo’ non funzionare, nel senso che o il programma "muore" durante l'esecuzione, o non finisce mai, e in entrambi i casi non produce un risultato, oppure si arriva al risultato, ma e' errato …. . . in breve. . . un “Buon” PROGRAMMA e' la codifica di un “buon” ALGORITMO mediante un LINGUAGGIO DI PROGRAMMAZIONE (per definizione, comprensibile al calcolatore) 36
Algoritmo e Programma 37 Esistono molti modi per scrivere un algoritmo: * informale (in linguaggio naturale) * grafico, con diagrammi a blocchi: * con un formalismo rigoroso (ad es. le "macchine" di Turing) * con un linguaggio di programmazione di tipo generale (es. Algol 60, Basic, C++, Cobol, Fortran, Java, M 2, Pascal, . . . Awk, Lisp, Prolog, Scheme, … ) [un linguaggio=formalismo rigoroso particolare] Tutti questi metodi sono equivalenti nel senso che l'insieme dei problemi risolubili e' lo stesso per tutti. NOTA: Esistono problemi NON risolubili per via algoritmica (vedremo in seguito un esempio)
Fondamenti di informatica - presentazione prima di metter mano su una tastiera conviene spender ancora un po' di tempo per alcune informazioni su storia dei calcolatori e del nostro corso ambienti software ambienti hardware sistemi formali e linguaggi codici e rappresentazione dati rappresentazione di numeri 38
Fondamenti di informatica - presentazione BREVE STORIA (LOCALE E NON) DEI CALCOLATORI 39
Fondamenti di informatica - presentazione 40 inquadramento storico: dalla situazione di oggi. . . macchine con 400 - 1500 Mhz di ciclo base e oltre (fanno un’istruzione in qualche nano secondo (10 E-9) con 256 e piu’ Mega byte di Memor. Centrale (RAM) con 20 e piu’ Giga (10 E+9) byte di Hard Disk con ingresso/uscita video digitale, suono, rete, stampanti, collegamenti senza filo, CD, DVD, … su cui si puo’ fare “di tutto” (e dove le cifre invecchiano ogni anno. . . )
Fondamenti di informatica - presentazione 41 situazione di oggi. . . … dove il mercato HW (hardware) e SW (software) ha un fatturato paragonabile a quello delle automobili, dove il calcolatore e’ dapertutto (automobili, lavatrici, frigo, telefoni cellulari, televisori, serrature, . . . ) e dove la “rete delle reti”, o internet, collega centinaia di milioni di calcolatori. . . e dove si trova quasi tutto. . . difficile persuadere il cliente che DEVE comperare un nuovo prodotto ogni anno per fare le stesse cose di prima (cfr. "the brave new world" di Huxley)
Fondamenti di informatica - storia all’indietro 42 dalla situazione di oggi. . . macchine con 1000 e piu’ Mhz di “clock”, 128 e piu’ Mega byte di Memoria Centrale, con 20 e piu’ Giga byte di Hard Disk e che costano meno di una paga mensile (ma non di un lavoratore del Bangladesh) e che sono inutilizzate per il 95% del tempo ; -) e che dopo 1 anno non valgono neanche la meta’ : - (. . andiamo all’indietro. . vediamo un po’ di storia. . .
Fondamenti di informatica - storia all’indietro storia. . . 43 all’indietro. . situazione 1985 piu’ o meno: c’erano i "super calcolatori" CRAY, CDC 7800 (costavano un condominio di 5 piani) e i grossi “mainframe” IBM 3033, DIGITAL VAX 8800, . . i "midi e mini" PDP 11/70, o le workstation. . (costavano una grossa automobile. . . una Porsche)
Fondamenti di informatica - storia all’indietro 44 i personal: IBM/PC con Intel 80286, con il s. o. DOS, ( con decine di produttori di PC compatibili ) Apple Macintosh II -M 68010 (qualche milione di lire) i micro ZX Spectrum, QL (chi si ricorda di Sinclair? ) Commodore 64, . . . macchine con VGA (640 x 480) o CGA o schermo testo (24 x 80), con 64 kb fino a 1 Mb di RAM, dischi da 10 Mb HD, 110 -780 kb Floppy, con sistema DOS (MS o IBM o altri) sui IBM/PC e compatibili, con Mac OS sul Macintosh, con Unix sulle workstation, con S. O. diversi sui grossi calcolatori. . . la MS faceva il DOS e Word, e cominciava a comperare piccole aziende sw. . . (Excel, Access, Power. Point. . . )
Fondamenti di informatica - storia all’indietro 45 sempre 1985 circa: 4. a generazione dei computer, circuiti integrati di larghissima scala … negli USA Internet (rete di reti con protocollo TCP/IP) collegava il 90% delle universita’, per la maggior parte macchine UNIX, Nikolaus Wirth (Zurigo, CH), padre del Pascal, progettava l’Oberon, successore del Modula 2, il C++ di Bjarne Stroustrup aveva gia’ tre anni, c’erano ancora diversi programmi per la scrittura (Word, Word*, Word. Perfect, Framework. . . c’erano vari fogli elettronici LOTUS, Visi. Calc, data base DB III, Oracle, e altri
Fondamenti di informatica - storia all’indietro Sempre 1985 circa. . . all'univ. di Trieste: c’era un corso di informatica generale solo per gli elettronici e gli elettrici (gli altri niente), al terzo anno, piu' altri tre (solo per indirizzo informatica) al 5. o anno. . . il corso base (calcolatori elettronici) era piu' ampio: hw/sw / algoritmi e macchine di Turing/ grammatiche/ pascal/ assembly/ sistemi operativi/ processi concorrenti/ rete/… un esame pesante, si faceva un po’ di tutto… 46
fondamenti di informatica - presentazione 1980 l’IBM decide di entrare nel mercato dei personal, con l’IBM/PC, su cui montano un S. O. “DOS ” 1978 DEC VAX 11/780 1978 N. Wirth progetta il linguaggio Modula, successore del linguaggio Pascal, 1976: IBM/370 (“mainframe”, grosso) i primi personal: Apple 2 ( S. O. Pascal UCSD (stava su due floppy da 5" da 110 kbyte !) Z 80 e Intel 8080 ( sistema oper. CP/M ) varie macchine, 64 kb MC, 110 kb Floppy, . . schermo alfanumerico (24 x 80 caratteri) schermo grafico 200 x 360 1975 circa: 3. a generazione dei computer. . . (integrati di larga scala) HW: 47
fondamenti di informatica - presentazione 48 1972 Dennis Ritchie progetta il C 1971 Intel 4004, 1. o micro processore in un integrato! Niklaus Wirth progetta il Pascal terza generazione dei computer : a circuiti integrati 1970 la DEC fa il PDP 11/40 con architettura a bus 1969 Ken Thompson scrive il sistema operativo UNIX su un PDP-7 (in assembler e in “B”, derivato dal BCPL di M. Richard 1968, poi lo riscrivera’ in C) (su macchine con 128 kb di memoria, 5 Mb di HD) 1967: linguaggi Basic(65) nasce per uso interattivo in time sharing, Simula(67) programmazione con classi ed oggetti, e altri linguaggi (Algol 68, PL/I. . . )
fondamenti di informatica - presentazione 49 1967: calcolatori IBM/360, Univac, Control Data, . . non c’erano personal, ne’ floppy (solo schede perforate e nastri magnetici. . . ) cominciano i primi Hard Disk e i primi integrati (semplici porte logiche, un flip-flop…) primi sistemi operativi multiprogrammati (MULTICS, nonno dell’UNIX ) con l' IBM/360 nasce il byte di 8 bit (e l’ASCII), 1965 nascono i primi “mini” PDP-8 della DEC macchine per laboratorio, (celle da 12 bit) 1960 nasce la DEC con il PDP-1 (18 bit/cella, 4 k celle)
fondamenti di informatica - presentazione 50 1960: situazione di mercato nettamente divisa tra macchine (e linguaggi) commerciali IBM/1401, macchine (e linguaggi) tecniche IBM/7090 la maggior parte dei programmi e’ scritta in assembler, anche se. . . esistono gia' molti linguaggi procedurali Fortran [Formula Translator] Cobol [Commercial Business Oriented Language] Algol [Algorithmic Language] bisnonno di C , Pascal. . Lisp [List Processor], Snobol [String Processor]. . . (e qualche decina di altri)
fondamenti di informatica - presentazione 1957: linguaggio Fortran, primi tentativi di linguaggi commerciali (“business oriented languages) tutti i i programmi scritti in assembler i calcolatori sono fatti di transistor (montati su circuiti stampati [schede] e hanno la memoria a nuclei di ferrite (un nucleo = un bit) = seconda generazione dei computer 51
fondamenti di informatica - presentazione 52 48 -54 prima generazione dei computer: a valvole (spazi enormi, problemi di riscaldamento, di affidabilita’. . . nastri e schede perforati, nastri magnetici, stampanti elettromeccaniche programmazione solo in assembly) 1950: varie macchine in commercio – ma qualche centinaio in tutto il mondo. . . (Univac, IBM, Honeywell, G. E. . ) 1948: 1. o calcolatore elettronico funzionante (Wilkes, Cambridge, GB) a programma memorizzato assieme ai dati in memoria centrale (EDSAC)
fondamenti di informatica - presentazione rimasta famosa la frase di obiezione del presidente della IBM (macchine elettrocontabili) del 1949, quando qualcuno all’interno dell’IBM fece la proposta di entrare nel mercato dei calcolatori: ma di macchine del genere ce ne sara' bisogno di due o tre, al massimo una decina per tutto il mondo. . . 53
fondamenti di informatica - presentazione 54 1944: macchina di Von Neumann ( USA) modello proposto da H. Goldstine e J. Von Neumann (in base all’esperienza sui primi calcolatori elettronici di J. P. Eckert e J. Mauchly) (Moore School Univ. Pennsylvania, USA) nota: il modello detto oggi "di von Neumann" in realta' e' da attribuire a Eckert e Mauchly, ed e' rimasto collegato al nome di von Neumann per la firma della proposta di progetto. . .
fondamenti di informatica - presentazione 55 1939: macchina di Zuse (da Z 1 a Z 4, probabilmente il primo “vero” calcolatore elettronico)(D) Zuse con il suo staff costrui' alcuni modelli che pero' ebbero vita breve (bombardati 1944) 1935: "macchina" di A. Turing, un formalismo per definire un algoritmo, GB) prima degli anni 40 vi sono macchine elletrocontabili a schede perforate e macchine meccaniche per le operazioni aritmetiche. . .
fondamenti di informatica - presentazione 56 1919: il circuito (a valvole) Flip-Flop o bistabile di Eccles e Jordan, elem. base dei circuiti del computer 1880: Hollerith (USA): schede perforate per la codifica e l’elaboraz. meccanica dell’informazione (al tempo, l’orario di lavoro di un operaio era 12 ore) 1854: Boole (GB) scrive l’ algebra della logica 1848: ferrovia Vienna - Trieste. . . (ma cosa centra? ) 1830: calcolatore meccanico di C. Babbage (memoria, unita’di calcolo, ingresso e uscita dati…) 1800: telaio Jacquard a “schede” perforate per la programmazione dei telai di tessitura
Fondamenti di informatica - presentazione 1640: calcolatrice meccanica di B. Pascal 1623: calcolatrice meccanica di Schickard 1490: fine del regno arabo di Granada. . fine dell'impero di Costantinopoli, qualcuno scopre l’America, ecc. . . 1200: Leonardo Pisano detto Fibonacci introduce i numeri “arabi” in Italia (nonostante il divieto della chiesa) 800 dc: Al-Khowarismi: aritmetica araba. . . in india / cina si (re-) inventa lo zero 600 dc: Maometto 57
fondamenti di informatica - presentazione 0 Cristo 100 ac: Tolomeo (Alessandria) tavole trigonometr. 400 -200 ac: Pitagora, Talete, Euclide, Diofanto, Eratostene. . 500 ac: Budda, Aristotele. . in Mesopotamia c’e’ sistema numerico posizionale e lo zero; abaco (cina, india, mediterraneo, america) 1000 ac: primi alfabeti (egiziano, fenicio) primi algoritmi di calcolo (babilonesi) 58
fondamenti di informatica - presentazione 59 1500 ac: tavole numeriche egiziane e babilonesi 2000 ac: primi testi (religiosi, legali, politici, epici. . 4000 ac: scrittura Egitto, Babilonia ( ideogrammi "al re Suppiliuma apparve il dio Marduk, e gli mostro' come fare per vedere una parola " 30000 ac: homo sapiens. . (sulle date prima del 4000 a. c. le opinioni dei creazionisti sono discordi)
fondamenti di informatica - presentazione 60 fine del percorso storico dal 1998 (a 300 Mhz). . . al 4000 ac: (quando furono scritti i primi testi, cose importanti, come trattati di pace o preghiere o situazioni contabili dei magazzini del re) con una codifica piuttosto pesante, utilizzando migliaia di ideogrammi. . . in Egitto, Babilonia, poi in Cina quando i numeri erano codificati nel sistema “unario”: uno /, due //, tre ///, quattro ////, ecc con qualche semplificazione. . . ritorniamo ad oggi …
61 fondamenti di informatica - presentazione come sara’ un calcolatore tra N anni (quando finirete gli studi. . . ) ? com’era un calcolatore N anni fa (a pari costo) ? 10 volte piu’ lento, 4 volte meno memoria centrale, 10 volte meno spazio su disco, software da 4 a 20 volte piu’ piccolo, il software e l’hw costavano circa come oggi. . . provate ad applicare gli stessi fattori in avanti. . . prestazioni costo 1992 1998 2004 tempo
Fondamenti di informatica - presentazione 62 ancora un po’ di storia ma partendo dagli inizi. . . storia locale. . . cioe’ del corso di Fondamenti di Informatica in ingegneria all’ Universita’ di Trieste (Univ. di Trieste (solo la facolta’ di Economia e Commercio) fondata tra le due guerre, 1925, la Facolta’ di Ingegneria (Regia Legge 8. 8. 1942) con lezioni nel marzo del 44 e del 1945. . . con meccanica, navale, edile … Corso di Elettronica fondato nel 1961, in ingegneria allora c’erano: Chimica, Civile, Elettrotecnica, Elettronica, Meccanica, Navale e Meccanica
Fondamenti di informatica - presentazione 63 1961 l'universita' fonda il Centro di Calcolo con un calcolatore “scientifico” IBM 1620 il calcolatore aveva: un’unita’centrale a transistor, diodi, resistenze. . 20 k byte (ma a 6 bit) di memoria centrale tecnologia a bit memorizzati con nuclei di ferrite, un’ unita' di ingresso/uscita telescrivente una consolle “con tante luci e tanti interruttori” un lettore/perforatore di nastro di carta) il Centro di Calcolo aveva un direttore, un capocentro, alcuni tecnici (laureati/diplomati) una segretaria, dei borsisti (borsa di studio di 40. 000 lire al mese [al tempo era una paga di un operaio non qualificato] ecc. . .
Fondamenti di informatica - presentazione cont. 1962: il calcolatore IBM 1620 era usato con prenotazione settimanale, una singola prova di traduzione / esecuzione di un programma Fortran richiedeva un paio d’ore (i dati e i programmi erano memorizzati su nastro di carta, per caricare un programma in memoria erano necessari una decina di minuti) si programmava molto in linguaggio macchina. nel 1962 il Fortran aveva 5 anni, l'Algol ne aveva 2, erano gia’ pubblicati decine di algoritmi 64
Fondamenti di informatica - presentazione cont. 1962: 65 a TS non c’era alcun corso di informatica, in nessuna facolta’ il calcolatore IBM 1620 del 1962 era molto piu’ lento di un Commodore 64 (cpu 6502) o di uno Spectrum (cpu Z 80) del 1985. . il calcolatore era uno strumento molto costoso e usato solo in pochi casi (ed era complicato usarlo) “il calcolatore del tempo equivaleva (come potenza di calcolo) a meno di un millesimo di un PC di oggi, (costo di meno di 1000 euro) e costava quasi dieci appartamenti ovvero circa 1000 volte di piu'. . .
Fondamenti di informatica - presentazione 66 1963: l’Olivetti (Ivrea, Torino) in collaborazione con il CNR di Pisa fa il primo calcolatore italiano, l' "Elea" un calcolatore a transistor interamente progettato e costruito in Italia la divisione elettronica dell’Olivetti chiude (anche per mancanza di aiuti da parte del governo) nel 1965
Fondamenti di informatica - presentazione 67 =====>> 1963 -64 attivazione al 5. o anno del corso di laurea in ingegneria elettronica di un corso di "calcolatrici elettroniche" (prof. A. Marzollo), 2/3 corso calcolatrici analogiche (esercitazioni) 1/3 corso calcolatrici digitali (niente esercitazioni) ----al CERN (Ginevra, CH) c’e’ un “grosso” calcolatore IBM 7090, l'IBM sta preparando il 360, (con cui nascera' il byte da 8 bit) la CDC sta preparando il CDC 6600 (supercomputer)
Fondamenti di informatica - presentazione 68 1963: nasce il corso di “calcolatrici elettroniche” nel 63 sono in uso generale 2 o 3 linguaggi: Fortran [FORmula TRANslator] per problemi tecnico/scientifici e Cobol [COmmon Business Oriented Language] problemi gestionali in Nord Europa si usa molto anche l’Algol 60, capostipite di moltissimi linguaggi di programm. ; stanno nascendo molti linguaggi di programmazione (Algol-W, “nonno” del Pascal, BCPL, “nonno” del C, . .
Fondamenti di informatica - presentazione 69 1968: * prima mostra di Computer art a Londra (cui partecipano anche due ricercatori di TS) * nasce l’Algol 68 (troppo potente per l’epoca. . ) il Simula 67 (con oggetti e classi, bisnonno del C++), * sono in commercio i dischi fissi (da qualche Mbyte) * il DOS (Disc Operating System ha gia’ alcuni anni, precedenti TOS o Tape Operating Systems) * c’e’ un calcolatore commerciale con memoria virtuale (IBM 360/90) * c’e il S. O. MULTICS da cui derivera’ poi il s. o. Unix (multiutente, sistema file gerarchico. . )
Fondamenti di informatica - presentazione 70 1972, ing. elettronica a TS: dal 1963 c’e’ il corso di calcolatrici elettroniche al 5. o anno, tenuto (69 -75) dal prof. Sipala; contenuto: calcol. digitali, cenni su hw, sw, programmazione assembler, Lisp, Algol e Fortran, linguaggi, traduttori, . . . (quasi tutta l'informatica) Esercitazioni su HP 2004 con 32 k byte di memoria, ingresso/uscita a nastro di carta, tastiera, pulsantiera binaria per inserire dati direttamente in memoria) 1972: il Pascal ed il C hanno 1 anno, . . . il Simula (classi e oggetti) ne ha 5, . . . ) il PL/I ne ha 3 il LISP ne ha 12 !!
Fondamenti di Informatica. . . nota storica del corso. . . 71 1972 * nasce il primo micro-processore su un circuito integrato unico, il 4004 dell’Intel * ci sono gia’ le reti di calcolatori * al centro calcolo dell’univ. di TS c’e’ un IBM 7044 (sistema a nastri magnetici) * sono gia’ in uso nei laboratori e i primi midi (il PDP 11 della Digital, progenitore di tutti i micro. . . , su cui nasce l’Unix e il C) e i primi hard disk. . . * a Trieste c’e’ nel 71 una mostra di immagini realizzate con un calcolatore. . .
Fondamenti di informatica - presentazione 1975 * la facolta’ decide di aprire due nuovi corsi di informatica, * il corso base “calcolatori elettronici” passa al 4. o anno, * al quinto anno si apre un indirizzo di informatica (per gli elettronici), con basi di dati informatica teorica 72
Fondamenti di informatica - presentazione 1975 (tre corsi di informatica in ingegneria). . . “ il ” calcolatore della facolta’ (un HP 2100) aveva il Basic in Time-sharing, con 8 terminali (telescriventi a 110 b/s), aveva un HD da 5 Mb (su cui stava tutto il SW del S. O. e dati e programmi per tutta la facolta’ primi Floppy da 8 pollici e 110 k byte (Digital) 73
Fondamenti di informatica - presentazione 74 1979 corso calcolatori elettronici (4. o anno) (hw, sw, programmazione in Pascal, esercitazioni su terminale remoto del calcolatore CDC 6200, i programmi sono scritti su schede perforate. . . (al tempo c'erano gia' i primi personal Apple II, TRS, Commodore, . . con Basic e Floppy da 5 “ e 110 k byte i sistemi operativi piu’ diffusi su personal erano CP/M (processori Z 80 o 8080) Pascal/UCSD su Apple II; (c’era gia’il festival di arte elettronica a Linz musica [il moog], immagini, video)
Fondamenti di informatica - presentazione 75 1982 primo laboratorio didattico della facolta', con 3 calcolatori APPLE II (64 k byte RAM, 110 k. B floppy, costo 3. 500. 000 lire di allora (oggi 18 M) e Pascal UCSD (il papa' del turbo Pascal), con esercitazioni di programmazione assembler 6502, 1986 laboratorio didattico basato sul PDP 11/xx con sistema RT con HD e 4 terminali, il corso passa al 3. o anno, con programmazione Modula II e Assembler 5 esercizi (programmi) individuali da risolvere (scrivere) per l’esame, (uno in assembler e uno con gestione di processi paralleli). . . circa 50 studenti
Fondamenti di informatica - presentazione 76 1989 si attiva un 3. o corso di informatica al 5. o anno 1990(un mix: grafica, s. o. , e altro …) 1991 l'universita’ di Trieste si adegua agli obblighi di legge, e il corso di "calcolatori elettronici" passa al 2. o anno (e diventa fondamenti di informatica) si sdoppia, si semplifica, 1993/94: ultimo anno con il linguaggio Modula II si attiva il corso di Calcolatori elettronici II (architettura, hw) 1994/95: linguaggio Pascal, Fond. Informatica e’ al 1. o anno 1996. . : linguaggio C++
Fondamenti di informatica - presentazione aa 2001/2002 riforma universitaria, partono le lauree brevi (che sono circa i diplomi di prima. . . ) il corso F. I. si sdoppia in F. I. 1 + F. I. 2. . . -----------------------fine parte introduzione. . . 77
- Fondamenti di informatica unipv
- Fondamenti di informatica 2
- Fondamenti di informatica 2
- Fondamenti di chimica organica smith usato
- Pedagogia generale slide
- Giddens fondamenti di sociologia
- Componenti principali di un computer
- Verismo italiano e naturalismo francese
- Fondamenti di misure
- Controllo ad anello aperto
- Genotipo
- Gli angoli retti
- Fondamenti di automatica benvenuti
- Fondamenti di astronomia
- Presentazione su roma
- Grazie fine presentazione
- Buongiorno formal or informal
- Presentazioni multimediali powerpoint
- Presentazione classe 1 media
- Grazie fine presentazione
- Presentazione della classe quinta scuola primaria
- Tesina power point
- Grazie fine presentazione
- Presentazione classe coordinatore scuola primaria
- Pirite valore al grammo
- Una presentazione dell'italia
- Moodle unito psicologia
- Bicromia oculare
- Slide presentazione personale
- Presentazione in francese b1
- Power point tennis
- Esempio bibliografia tesina terza media
- Il testo narrativo: schema
- Presentazione itinerario turistico
- Elementi testo narrativo
- Grazie fine presentazione
- Saturno presentazione
- Fabula schema
- Presentazione tachistoscopica
- Bozzetto marinaresco
- Presentare se stessi
- Informatica industriala
- Laurea specialistica informatica
- Ce este informatica
- Unidad de medida informatica
- Sicurezza informatica slide
- Baggi registro elettronico
- Informatica applicata alla comunicazione multimediale
- Problem solving informatica
- Tipos de servidores
- Informatica per il management
- Elementos de la seguridad informática
- Truncamiento ejemplos
- Informatica doc
- Master toegepaste informatica
- Informatica havo 4 samenvatting
- Malware informatica
- Array traduzione informatica
- Mariani informatica
- Parola informatica
- Modele de servicii cloud computing
- Trasposizione musicale automatica
- Modello relazionale informatica
- Informatica per la grafica
- La storia dell'informatica riassunto
- Titu maiorescu informatica
- Informatica b
- 20 preguntas tipo icfes de informática
- Akros informatica
- Reglas sala de informatica
- Ucp informatica
- Informatica bedrijf alken
- Ingegneria informatica pisa
- Cintoteca informatica
- Simulador informatica
- Linguaggi alto livello
- Ejemplos del sistema
- Informatica unipg