Fondamenti di informatica - presentazione
FONDAMENTI
DI INFORMATICA
di
Matjaž Hmeljak
1
Fondamenti di informatica - presentazione
informazioni su:
.. orario lezioni, ricevimento, ..
.. finalita', contenuto
.. piano del corso
.. dove sta il corso
.. modalita' esame
.. bibliografia
2
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
3
fondamenti di informatica - presentazione
orario : MA 11-13 ME 10-11
4
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
user e
password
5
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
6
sword
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
7
sword
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
[email protected]
8
accreditamento user name + password
9
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.
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
10
fondamenti di informatica - presentazione
11
per comunicare con il docente :
tramite posta elettronica (e-mail), indirizzo:
[email protected]
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
12
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"
?
13
fondamenti di informatica - presentazione
14
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
15
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...
16
Fondamenti di informatica - presentazione
17
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
18
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;
19
Fondamenti di informatica - presentazione
20
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
21
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
22
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
23
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)
24
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
25
Fondamenti di informatica - presentazione
26
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"
27
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
28
fondamenti di informatica - presentazione
29
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")
30
fondamenti di informatica - presentazione
31
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
32
fondamenti di informatica - presentazione
33
( 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
34
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 ...
35
Fondamenti di informatica - presentazione
36
* 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
37
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
38
aspetti marginali ... ma non tanto
39
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 ...
<:-(
e se ... dopo un mese ... ?
40
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
41
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
42
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
43
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++)
44
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 ...]
45
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)
46
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
47
Scarica

Apresen4 - UniNa STiDuE