FONDAMENTI DI INFORMATICA Fondamenti di informatica - presentazione FONDAMENTI DI INFORMATICA di Matjaž Hmeljak
Fondamenti di informatica - presentazione informazioni su: .. orario lezioni, ricevimento, .. .. finalita', contenuto .. piano del corso .. dove sta il corso .. modalita' esame .. bibliografia
fondamenti di informatica - presentazione orario 2007 / 2008 MA 11-13 ME 10-11 GI 11-13 l' orario comprende LEZIONI + LABORATORIO il laboratorio a gruppi di circa 30 persone, con turni
fondamenti di informatica - presentazione orario : MA 11-13 ME 10-11 lezione GI 11-13 + GI pomeriggio 15-18 laboratorio il LABORATORIO e' parte IMPORTANTE del corso (da 1/4 a 1/3 delle ore totali (circa 60) previste in funzione del numero studenti (100) e in funzione del numero di posti di lavoro nel laboratorio (33) si svolgeranno i turni (tre) (turni con la stessa esercitazione ripetuta tre volte),
fondamenti di informatica - presentazione il laboratorio ( GI 11-13 + GI pomeriggio ) e' parte IMPORTANTE del corso (1/4 !) il laboratorio iniziera' a meta' ottobre; A T T E N Z I O N E: per l'accesso al laboratorio TUTTI gli studenti DEVONO avere il codice di utenza per le macchine dell'universita' di Trieste ovvero u s e r e p a s s w o r d
fondamenti di informatica - presentazione per l'accesso al laboratorio si deve avere il codice di utenza ovvero u s e r e p a s s w o r d per chi e' gia' iscritto, consiglio : provare ad accedere [cioe' a fare login] alle macchine dell'universita' cioe' : controllare che funzioni !
fondamenti di informatica - presentazione per l'accesso al laboratorio si deve avere il codice di utenza ovvero u s e r e p a s s w o r d per chi non e' ancora iscritto, e quindi NON ha un codice di accesso, puo' chiedere un accreditamento provvisiorio presso lo CSIA ... ma il codice comune non da' garanzia sulla durata dei propri dati / programmi su disco ... ☹ ...
accreditamento user name + password Ufficio accrediti CSIA lunedi' - venerdi' ore 10:30 - 13:00 inoltre: lunedi' e mercoledi' anche ore 15:00 - 18:00 piano terra CSIA, entrando, a sinistra: stanza T28 040 558 3333 codici@univ.trieste.it
accreditamento user name + password ATTENZIONE: servizio sospeso settimana da lunedi' 17.09.2007 a venerdi' 21.09.2007. In questo periodo le richieste di accredito vanno rivolte all'Ufficio iscrizioni ECDL e corsi CSIA negli orari ed ai recapiti di edificio e fax di quell'Ufficio. Servizio consegna password Le richieste di: inserimento di nuove password di Ateneo per chi non ne avesse mai ricevuta una modifica di password di Ateneo perdute possono essere accolte negli orari sopra indicati SOLO IN PRESENZA della persona interessata, munita di documento di identita'. La persona sara' messa nelle condizioni di impostare autonomamente una nuova password a sua scelta.
in ogni caso conviene fare una copia dei propri dati laboratorio nota: in ogni caso conviene fare una copia dei propri dati (testi, programmi scritti per il corso...) su un mezzo di supporto proprio - ad es. copiando i propri dati sul calcolatore a casa, via email oppure salvando il proprio materiale su una memoria USB
fondamenti di informatica - presentazione per comunicare con il docente : tramite posta elettronica (e-mail), indirizzo: hmeljakm@univ.trieste.it orario ricevimento dopo lezione - Martedi' 13-13:45 dove: stanza di Matjaž Hmeljak, al DEEI (Dipart. Elettronica, Elettrotecnica, Informatica) Edificio C2-C3 (parte nuova vicino il bar di ing) 2.o piano, stanza 1250, tel. 676 71 32
fondamenti di informatica - presentazione materiale sul server di ingegneria, accessibile con: ftp : // docenti.ing.units.it /arc_stud/hmeljak/ (il tutto senza spazi!!) dove si trovano: aainformaz.txt testo di informazioni varie e varie cartelle: introduzione = questo materiale (i capitoli iniziali, formato ppt) partec = materiale per la programmazione in C++ (contiene i testi dei programmi in C++) scritti = testi degli esami scritti degli ultimi anni
fondamenti di informatica - presentazione cosa e' / cosa significa "fondamenti di informatica" ?
fondamenti di informatica - presentazione nota: informatica / scienza dei calcolatori informatica: nozioni, teoria, abilita' pratica nelle attivita' che piu' frequentemente si fanno con un calcolatore: in contesto un po' diverso e in senso piu' ristretto, quello che viene detto "patente di guida del computer" (*) ovvero nell' uso del software applicativo o dei programmi "applicativi" piu' diffusi, con cui si scrive un testo, si preparano tabelle riassuntive per un bilancio, si prepara una presentazione, si gestisce un archivio di persone o di oggetti, si prepara un sito su internet, si scrive una lettera via internet, si modella e monta uno spot video, si fa un progetto di una nave, ecc... (*) ECDL EntirelyClearlyDifficultLark or EasterislandComputerDriverLicence
fondamenti di informatica - presentazione informatica / scienza dei calcolatori scienza dei calcolatori: come funziona un calcolatore e di come sono fatti i programmi; i livelli del calcolatore, dal livelli molto alti (applicazioni di siti su internet) livelli alti (programmi applicativi del tipo detto prima), a livelli intermedi (programmi per scrivere programmi, progr. per far lavorare i programmi applicativi e l'utente), a livelli bassi (software di base: il sistema operativo, ... ), a livelli piu'bassi: linguaggio del calcolatore, istruzioni macchina, livelli ancora piu' bassi (HW: architettura del calcolatore: i pezzi principali: l'unita' centrale, la memoria centrale ), a livelli molto piu' bassi: circuiti logici, e poi... ... ma non andiamo piu' sotto ;-)
fondamenti di informatica - presentazione il nostro corso e' orientato piu' alla scienza dei calcolatori nozioni riguardo i dati trattati dai calcolatori, come funziona un calcolatore e come sono fatti i programmi; in particolare, come si scrivono semplici programmi e come si risolvono semplici problemi con l'uso della programmazione parte centrale del corso : programmazione nel senso detto, quindi: un linguaggio di programmazione, basi di algoritmi basi di strutture dati...
Fondamenti di informatica - presentazione 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 base del linguaggio * uso pratico del calcolatore ... per varie altre cose
Fondamenti di informatica - presentazione Contenuto [previsto] del corso di Fondamenti di informatica 1 AA 2007/2008 a) parte introduzione: (20 ORE CIRCA) algoritmi e macchine di Turing numeri interi e in virgola mobile, informazione, codici, dati, il sistema di elaborazione dati: “ambienti” hardware e software b) introduzione alla programmazione in linguaggio C++ (quanto basta) (istruzioni,funzioni,array,file) algoritmi (alcuni) e strutture dati (poche) (40 ORE CIRCA)
Fondamenti di informatica - presentazione Contenuto [previsto] di Fondamenti di informatica 1 AA 2007/2008 a) parte introduzione: (20 lez + 1 lab + 1 test) (5) Algoritmi, Macchine di Turing. (5) Numeri, (3) Codici, (3) Ambiente Hardware, (4) Ambiente Software, b) parte seconda: (32 lez + 8 lab + 2 test) algoritmi e strutture dati e programmazione in linguaggio C++ (8+2) Istruzioni, tipi, variabili, operatori di base. (10+3) Funzioni, parametri, variabili locali e globali, ricorsione, esempi. (10+2)Strutture dati ad array, esempi, ricerca valore in tabella (non/ordinata), metodi di ordinamento; (4+1) File e stream; il file system del s.o.; file testo e file binari; esempi;
Fondamenti di informatica - presentazione Continua contenuto del corso di Fondamenti di informatica 1: ... ancora: c) esercitazioni: (15 ore) uso: sistema operativo Microsoft Windows , sistema di sviluppo programmi Borland Builder o DevC++ / il linguaggio C++ f ) 3 test in aula (6 ore ) ...
Fondamenti di informatica - presentazione non fanno parte DEL CORSO : uso di programmi del tipo ... per scrivere testi per fare presentazioni per organizzare tabelle per costruire archivi e basi di dati per scrivere lettere per vagabondare su rete ( domanda: ma questo e' office microsoft ? o e' ECDL ? )
fondamenti di informatica - presentazione e non entrano nel corso (in blu corsi presenti a TS) sistemi operativi, sistemi operativi real-time, reti di calcolatori, sistemi distribuiti, programmazione visual, internet games, second life, programmazione di rete, programmazione in linguaggio macchina, microcodice, controllo di processi, altri linguaggi procedurali come Basic, Cobol, Fortran, Java, Pascal, C#, ecc, linguaggi, traduttori e compilatori, linguaggi funzionali come Lisp, ML, Scheme, ecc, linguaggi logici come Prolog,
fondamenti di informatica - presentazione e ancora, non entrano nel corso: robotica, sistemi esperti, reti neurali, sistemi decisionali, sicurezza dei programmi, sicurezza dei sistemi in rete, robustezza, virus, grafica (OpenGL, Autocad, PhotoShop..), sistemi per impaginazione di pubblicazioni, sistemi per produzione video, progettazione generativa, sistemi multimediali e virtuali, informatica musicale, informatica teorica, limiti dell’ informatica, e molte, molte altre cose...
fondamenti di informatica - presentazione il nostro corso copre alcuni aspetti di base, i "fondamenti" dell'informatica: gli argomenti dell’informatica (gia' dal 1965 almeno) sono numerosissimi, l'informatica e’ troppo vasta per un corso solo... anzi, per una persona singola: mentre 45 anni (anni 60) fa una persona poteva conoscere tutti gli argomenti dell’informatica (almeno superficialmente), questo da molto tempo (1975) non e’ piu’ possibile (citazione da The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition (1975-1995), di Frederick P. Brooks)
Fondamenti di informatica - presentazione il materiale del corso e' disponibile in rete ftp://docenti.ing.units.it/arc_stud/hmeljak/... il laboratorio di informatica di facolta' che useremo, come tutti i calcolatori dell'universita', sono collegati al calcolatore "server" 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) questo sito e' accessibile da rete da qualunque posto
Fondamenti di informatica - presentazione DA RETE (con Netscape, Explorer ecc): http://univ.trieste.it/ e poi didattica, fac.ingegneria (www.ing.units.it/ ), poi servizi, poi ftp://didattica.ing.univ.trieste.it/arc_stud/ e si arriva a questo materiale... ftp:didattica.ing.univ.trieste.it/arc_stud/hmeljak/... molti corsi di fondamenti di informatica in Italia (e di computer science fundamentals) hanno il materiale (in tutto o parziale) in rete, (provare Google, Yahoo, AltaVista, o altro sistema di ricerca su rete con le parole chiave “corso fondamenti informatica”
Fondamenti di informatica - presentazione materiale in rete di questo corso: ftp:docenti.ing.units.it/arc_stud/hmeljak/… su server della facolta’ (il calcolatore dove sono memorizzati alcuni archivi) archivio studenti (una partizione del disco) arc_stud cartella Hmeljak testo aainformaz sottoarchivi: introduzione e partec questa parte introduttiva del corso (con le parti codici, numeri, ambiente hw, ambiente sw, grammatiche) e' in formato "Powerpoint"
Fondamenti di informatica - presentazione docenti.ing.units.it arc_stud hmeljak parte introduzione (in formato "Powerpoint" ) A-PRESEN.PPT B-ALGORITMI e Macchine di Turing C-NUMERI.PPT D-CODICI.PPT F-AMBHW.PPT G-AMBSW.PPT K-STORIA.PPT
fondamenti di informatica - presentazione parte linguaggio di programmazione nel corso FI1 usiamo il linguaggio C++ ma: SOLO la parte base (neanche 1/3 del C++) ( SENZA classi ed oggetti e SENZA interfaccia e ambiente visuale) parte base: istruzioni, (componenti base per scrivere programmi) sottoprogrammi, (struttura base dei programmi) tabelle (struttura dati base) cenni di file
fondamenti di informatica - presentazione nota: 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 (se non marginalmente) ne' l'uso effettivo di applicativi; vanno bene per circa 1/3 del nostro corso (parte "folkloristica")
fondamenti di informatica - presentazione il sistema C++ (ambiente di sviluppo programmi) e’ installato sul server in piu' versioni; useremo il Borland Builder 4 (ma per il corso basta il TurboC 3.1 ( nato su DOS nel 91... per lavorare con esso basta un PC / 486, valore commerciale 20 euro ;-) nota: il sistema di sviluppo programmi e' scaricabile da rete in versione un po' ridotta (ma comunque sovrabbondante per noi) (sono in ogni caso varie centinaia di Mb)
fondamenti di informatica - presentazione 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 ( il Borland Builder versione demo BB6 si trova su rete MA ... va bene anche il sistema XXX (public domain) e va bene anche il sistema Microsoft Visual C (ATTenzione: NON va bene C#, che e' un'altra cosa) pero': per il corso (lab, test) useremo solo il BB4
fondamenti di informatica - presentazione su sistemi Apple esistono vari sistemi Xcode (ambiente Apple, compiler GCC) e altri Metrowerks C++ (www.metrowerks.com) o
fondamenti di informatica - presentazione su UNIX o LINUX: esiste il GCC (GNU C Compiler), (il C " e' " il linguaggio del sistema UNIX ! esistono anche varie versioni del GCC con interfaccia grafica, esiste anche il sistema Borland su Unix, e altri sistemi ...
Fondamenti di informatica - presentazione * MODALITA’ DI ESAME DI F.I. A) scritto + orale nelle sessioni di esame (mesi: 1,2; 6,7; 9) + appelli straordinari solo per studenti fuori corso B) test intermedi per gli studenti che frequentano : previsti 3 test a distanza di un mese circa (ott/nov/dic) warning: NON previsti dei test di recupero
aspetti marginali ... ma non tanto qui c'era una schermata sulla serieta' ma e' stata eliminata
Fondamenti di informatica - presentazione MODALITA’ DI ESAME DI F.I. caso con test intermedi previsti 3 test a distanza di un mese circa <<==== conviene fare l'esame in questo modo ! per i test e' essenziale seguire il corso, lezioni e laboratorio, NOTA: i test sono riservati agli studenti che frequentano il corso
aspetti marginali ... ma non tanto chi fa bene i tre test ha fatto l ' esame... (se si raggiunge almeno la media di 21/30) ogni anno circa il 60 % degli studenti sfrutta questa possibilita' ogni anno (da vari anni) su 100 studenti iscritti circa 50% fa l'esame con i test :-) circa il 10 % fa l'esame alla fine del corso (scritto+orale), circa il 15 % fara' l'esame in uno degli anni seguenti e il resto ... abbandona ... <:-(
qualche studente trova talvolta difficolta' a capire ... e se ... dopo un mese ... ? qualche studente trova talvolta difficolta' a capire ... cura preventiva: rivedere regolarmente ogni lezione cura al sorgere dei primi sintomi: applicare * la cura preventiva e aggiungere * lo studio con qualche compagno di corso che si trovi nella stessa situazione cura dopo la prima meta' del corso: non perdere tempo a seguire a vuoto - riprovare il prossimo anno ... oppure rimandare lo studio all'esame (genn/febb) se il sintomo rimane, cura radicale: cambiare qualcosa ( corso / docente / facolta' / universita'/ ... altro ... )
The Hitchhiker's guide to Galaxy: 1.rule: don't panic i dati relativi agli ultimi 5 anni dicono che : ogni anno circa 90 studenti fanno l'esame di fondamenti di informatica 1 (non tutti sono matricole) ogni anno vi sono circa 110 matricole al corso, di cui circa 70 fanno l'esame alla fine del semestre ogni anno alcune persone che non hanno mai usato un calcolatore e non sanno nulla di informatica fanno l'esame con 30 e lode (non solo Hermione Granger)
Fondamenti di informatica - presentazione 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, 1/2 fa tutti i test ...
Fondamenti di informatica - presentazione 2) Caso due: se non segui le lezioni e/o se non fai i test positivi (per vari motivi) e/o se non raggiungi la media del 21/30, rimane comunque modalita’ “classica” ovvero esame standard negli appelli regolari: inverno / 3 appelli gennaio / febbraio estate / 3 appelli giugno / luglio autunno / 2 appelli settembre altri appelli in periodi di lezione: riservati agli studenti fuori corso
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 e conoscenza pratica effettiva di programmazione (C, C++)
Fondamenti di informatica - presentazione BIBLIOGRAFIA: 1) parte introduttiva: 1.a) QUESTO STESSO MATERIALE (parte "arc_stud/hmeljak/INTRODUZIONE/... " ) e/o 1.b) qualunque libro tipo “ fondamenti di informatica, elementi di I, introduzione all’I", (senza la parte programmazione) ad esempio: "Introduzione all’informatica", di Paolo Tosoratti, ed.Ambrosiana,1998, 400 pagine, "Informatica" di G.Vercelli e R.Zaccaria, 1998 Editoriale Scientifica (esaurito) "Corso di Informatica" di G.M.Schneider e J.L.Gersting, ed. Jackson, 1999, 748 pag, 39euro “Informatica di base” di D.Curtin,K.Foley,K.Sen,C.Morin, McGraw Hill It., 1999, [suggerimento: andare di persona in una libreria e prendere un libro del genere secondo i gusti personali ...]
Fondamenti di informatica - presentazione 2) bibliografia per la parte programmazione in C++ 2.a) IL MATERIALE NELLA CARTELLA "PARTEC" serving4.../arc_stud/hmeljak/partec/... (circa novanta programmi commentati e graduati che studieremo nel nostro corso, divisi in dieci capitoli) 2.b) libri sulla programmazione in C++: Deitel & Deitel, Schildt (riferimento, ma noi ne facciamo 1/3) Crivellari, ma attenzione - sconsigliato: Il linguaggio C di Kernigan Plaugher, va bene come riferimento per il C, ma non per studiare la 1.a volta)
Fondamenti di informatica - presentazione ... per chi vuole approfondire gli argomenti che riguardano le basi della programmazione, gli algoritmi, tre libri di consultazione: Aho Ullmann (ottimo: parte principale algoritmi) Wirth (Algoritmi + Strutt.dati = Programmi D.Knuth: The art of computer programming