Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 1
26-09-2005
Fondamenti di Informatica C
Lezione 1:Introduzione al corso
Prof. Riccardo Cassinis
(Dott. Marzia Tassi, Ing. Fabio Tampalini)
26-09-2005Lezione 1: Introduzione al corso 2
Lo schema di questa lezione
Prerequisiti
Lezioni
Libri
Trasparenze lezioni
Manuali
Materiale di studio
Software
Assignment
Materiale di esercitazione
Interazione
Prove in itinere
Esame
Valutazione
Fondamenti di Informatica C
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 2
26-09-2005Lezione 1: Introduzione al corso 3
Siete seduti nel posto giusto?
AERZTQSORKPTSQZCPRFGEBERTSZKDTVSU
ZQRPDE
26-09-2005Lezione 1: Introduzione al corso 4
L’orario delle lezioni
Solo per il corso di Fondamenti C
Lunedì 16:30 - 18:00 Aula N3
Mercoledì 16:30 - 18:00 Aula N1
Giovedì 14:30 - 16:00 (16:30) Aula N2
Il corso terminerà l’1 dicembre.
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 3
26-09-2005Lezione 1: Introduzione al corso 5
Collocazione del corso
Fondamenti A Fondamenti B
Fondamenti C
Laboratorio di Informatica
Corso FSE
Fondamenti
teorici
MOLTO
IMPORTANTI!
Java, OOP
26-09-2005Lezione 1: Introduzione al corso 6
Obiettivi del corso (1)
Comprendere i principi della programmazione procedurale, instretta connessione con la struttura dell’hardware.
Cominciare a capire qualcosina dei sistemi operativiOvvero: perché a me questo programma funziona e a te no?
Stabilire i principi fondamentali della programmazione eventdriven e dell’interazione grafica uomo-macchina (GUI)
Ovvero: come si scrive un programma oggi
Imparare a programmare:In C (perché è il linguaggio procedurale più usato in infinite applicazioni,industriali e non, e perché richiede una buona conoscenza di comefunzionano i calcolatori)
In Java (perché è utile per la programmazione web ed è un ottimo esempiodel paradigma OOP), completando quanto già appreso, con un filo diHTML e di web programming
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 4
26-09-2005Lezione 1: Introduzione al corso 7
Obiettivi del corso (2)
Ma soprattutto:Imparare a porsi e a risolvere problemiImparare a generare algoritmi, che risolvono problemiImparare a generare algoritmi che generano algoritmi cherisolvono problemi…L’importanza dell’esperimento (ah, Galileo!)
Ma attenzione:
La pulce ha le orecchie nelle zampe posteriori?
26-09-2005Lezione 1: Introduzione al corso 8
Un corso diverso da tutti gli altri…
Questo corso parla di calcolatori…E quindi usa i calcolatori per (quasi) tutte le attività…Il che non vuol dire che non si debba anche usare il cervello
I calcolatori dovrebbero semplificarci la vita, noncomplicarcela!
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 5
26-09-2005Lezione 1: Introduzione al corso 9
Parliamo un minuto della riformauniversitaria
Obiettivo dichiarato: riportare l’età media deineolaureati italiani al valore europeo
Fare in modo che gli studenti seguano il curriculumpredisposto, rispettandone i tempi
Valutazione del carico didattico: basata sulla mediaeuropea, non su quella italiana. 5 CFU = 125 ore
26-09-2005Lezione 1: Introduzione al corso 10
Facciamo due conti…
10 settimane di corso
1.5 ore x 3 giorni / settimana = 4.5 ore /settimana
Totale lezioni: 45 ore, anzi meno
1 credito = 25 ore; 5 crediti = 125 ore
125 - 45 = 80 ore = 7.5 ore / settimana = 1.25 ore /giorno di lavoro addizionale
Non è una cosa impossibile.
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 6
26-09-2005Lezione 1: Introduzione al corso 11
Prerequisiti (assolutamente necessari,ma NON sufficienti!)
Sapere l’italiano!Sapere l’inglese (non “avere superato la prova”, ma saperlo sulserio, cioè essere in grado di capire a prima vista, senzadizionario, un manuale tecnico)Avere assimilato gli esami di Fondamenti A e B – certo, ancheFondamenti A!Avere un calcolatore personale (meglio se portatile), unaconnessione a Internet (meglio se veloce), una casella di postaelettronica e (da un certo punto in poi) una pagina web personaleSaper maneggiare un calcolatore (installare software, copiarefile, ecc.)Saper usare la posta elettronica e un browser
26-09-2005Lezione 1: Introduzione al corso 12
Materiale di studio 1: i libri
Le trasparenze NON SONO il libro di testo.Nessun libro di informatica consigliato in particolareLettura preliminare per chi si sente molto ignorante:
Laganà – Righi – RomaniInformatica – concetti e sperimentazioniApogeohttp://www.apogeonline.com/libri/88-503-2030-2/scheda.xhtml
Per chi invece si sente molto competente:Venire direttamente all’esame (e vedere se era vero)
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 7
26-09-2005Lezione 1: Introduzione al corso 13
Materiale di studio 2: lezioni
Le trasparenze delle lezioni saranno rese disponibili sul sitoInternethttp://www.ing.unibs.it/~cassinis/Dida/current/fondinfo/index.html durante lo svolgimento del corso, dopo ogni lezione (salvoeccezioni).
Formato usato: PDF
Altro materiale sarà pubblicato sullo stesso sito secondo necessitàFormati usati: diversi
Non usate il mio materiale dell’anno scorso! Non tutto va bene,anzi…Non tutto il materiale sarà pubblicato.
26-09-2005Lezione 1: Introduzione al corso 14
Materiale di studio 3: meraviglie on-line
Sull’internet c’è tutto ciò che si può desiderare perstudiare e per esercitarsi, sia sul C che sul Java, e moltodi più.Provate a fare una ricerca su Google e vedete quantaroba viene fuori!
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 8
26-09-2005Lezione 1: Introduzione al corso 15
Materiale di studio 4: i manuali C
La “bibbia del programmatore C”:Brian W. Kernighan, Dennis M. RitchieThe C Programming LanguagePrentice Hall
Un altro buon libro:C.H. Pappas, W.H. Murray IIIIl Manuale Borland C++McGraw-Hill
Due tutorial online:http://cplus.about.com/library/blctut.htm?PM=ss11_cplus
http://alpha.science.unitn.it/~fiorella/guidac/indexc.html
26-09-2005Lezione 1: Introduzione al corso 16
Per Java:
Dovete avere già qualcosa
Fondamentale:http://developer.java.sun.com/developer/infodocs/
Inoltre: http://www.mindview.net
Molto belli i manuali e i corsi on-line del MetrowerksCode Warrior (http://www.codewarrioru.com)
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 9
26-09-2005Lezione 1: Introduzione al corso 17
Materiale di studio 4: altri libri
Sono fondamentali quelli di Fondamenti A e BIn libreria ci sono infiniti libri e manuali sul Java, a tuttii livelli
Le traduzioni in italiano in genere sono pessime, e comunquetutti gli aggiornamenti ecc. sono solo in inglese.
Un libro un po’ strano:David Arnow, Gerard Weiss:Introduction to programming using JavaAddison Wesley Longman, Inc.Lo stesso in italiano:Introduzione alla programmazione con JavaJackson libri
26-09-2005Lezione 1: Introduzione al corso 18
Materiale di esercitazione: hardware
Per questo corso occorre un calcolatoreL’Università non ha un calcolatore per ognuno di voiDovete usare il vostro (portatile o fisso, di qualunquepotenza)
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 10
26-09-2005Lezione 1: Introduzione al corso 19
Materiale di esercitazione: hardware
BUTTATE VIAWINDOWS
(per ora!)
Volete un consiglio da amico?
Non siete ancora abbastanza bravi per usarlo!
Un conto è far girare programmi scritti da altri, un conto èscriverli!
26-09-2005Lezione 1: Introduzione al corso 20
Materiale di esercitazione: software
Le cose che studieremo non richiedono alcun particolarestrumento di sviluppo, e sono assolutamente generaliPer il C:
Sistema operativo Linux (qualunque release: va benissimo anche Knoppix)Compilatore gcc
Per Java:Borland JBuilder Foundation X o superioreMicrosoft Internet Explorer versione correnteNetscape versione correnteOppure, gli strumenti standard (javac, jar, java, ecc.)
Il tutto, insieme ad alcuni manuali, è disponibile gratuitamente inrete, ma si tratta di parecchi Mbyte. Può essere scaricato dal sitodel corsoSaranno disponibili alcune copie (da restituire!!!) di CD-ROMche contengono le stesse cose.Attenzione: non tutto serve subito!
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 11
26-09-2005Lezione 1: Introduzione al corso 21
A proposito di Knoppix:
Knoppix è una release di Linux che risiede su un CD (fino allaversione 3.9) o su un DVDKnoppix gira su praticamente tutti i PC esistentiPer i nostri scopi basta e avanza la versione su CDKnoppix non usa l’hard disk, a meno che non glie lo diciamoesplicitamenteSe non salviamo le cose fatte su HD o su altro supporto, tuttoviene perso nel momento in cui si spegne il calcolatoreKnoppix è gratuito, e puo essere scaricato da diversi serverpartendo da http://www.knoppix.org o dal sito del corsoPer farlo partire:
knoppix keyboardìit
26-09-2005Lezione 1: Introduzione al corso 22
Materiale di esercitazione: assignment
Durante il corso saranno assegnati alcuni esercizicomplementariSaranno discussi, ma non saranno valutatiLa loro esecuzione è obbligatoria, e serve per ilsuperamento delle prove in itinere.
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 12
26-09-2005Lezione 1: Introduzione al corso 23
Metodologie di apprendimento
Non tutto potrà essere spiegato: dovrete anche investigare perconto vostro
Ponetevi dei problemi (possibilmente reali) e risolveteli;analizzate le soluzioni degli altri, modificandole finché nonrisolvano i vostri problemi
Provate, provate e provate ancora, smitizzando il calcolatore: nonmorde!
Cercate di capire a fondo le cose: non trascurate mai i dettagli
E ricordate: l’uomo più stupido è infinitamente più intelligentedel miglior calcolatore, ma il calcolatore più stupido èinfinitamente più logico dell’uomo più intelligente!
Quindi, in definitiva, ha (quasi) sempre ragione il calcolatore
26-09-2005Lezione 1: Introduzione al corso 24
I calcolatori
A dispetto di Bill Gates, nelmondo non esistono solo iPC IBM e compatibili
Sempre a dispetto di BillGates, sui PC non gira soloWindows 95 e successivi
Mondo Wintel:Windows 95, …
Windows NT, 2000
Windows XP
LINUX
…
Mondi HP, Sun, SiliconGraphics:
UNIX, Solaris, …
Mondo Apple:MacOS, OSX Jaguar, Panther,Tiger
…
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 13
26-09-2005Lezione 1: Introduzione al corso 25
Interazione con i docenti
L’interazione è fondamentale. Chi si presenta all’esame senzaessersi mai fatto vedere (e sentire) prima ha ben poche possibilitàdi superarlo rapidamente!Altrettanto dicasi per chi diserta le lezioni per preparare altriesami e/o compitini!Mezzi di contatto:
Mailing list (iscrizione e accesso dal sito web): unico mezzo per riceverele notizie del corso e per vedere le risposte alle domande tecnicheDiretto (solo nell’orario di ricevimento (mercoledì 14:30 - 16:30) o subitodopo la lezione, oppure per appuntamento)Telefono (030-3715.453)Email ([email protected]) letta più volte al giorno, spessoanche nei weekend e quando sono in viaggio - obbligatorio inserire nelsubject la scritta [infoc nome cognome] (con le parentesi e gli spazi)altrimenti vengono cestinate automaticamente… Da usare solo perproblemi “personali”Email ([email protected]), come sopra
26-09-2005Lezione 1: Introduzione al corso 26
La mailing list
Per iscriversi:http://liste.ing.unibs.it/mailman/listinfo/didattica.cassinis
Per scrivere un messaggio (per favore, solo plain text):[email protected]
Archivio: http://liste.ing.unibs.it/pipermail/didattica.cassinis/
La mailing list è moderata, ma solo per evitareErrori marchianiDiffusione di messaggi di spamApprofondimenti tecnici esagerati da parte dei soliti “nerd” o “geek”(http://www.nerdbird.dk/edb/euronerd.html)
(jargon)computer geek - (Or "turbo nerd", "turbo geek") One who eats (computer) bugs for a living. One whofulfils all the dreariest negative stereotypes about hackers: an asocial, malodourous, pasty-faced monomaniacwith all the personality of a cheese grater. The term cannot be used by outsiders without implied insult to allhackers; compare b lack-on-b lack usage of "nigger". A computer geek may be either a fundamentally cluelessindividual or a proto-hacker in larval stage.
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 14
26-09-2005Lezione 1: Introduzione al corso 27
Indirizzi e caselle email
Sconsiglio fortemente di usare indirizzi di providergratuiti
Sono poco affidabiliI messaggi si portano dietro un sacco di pubblicità, spessosgradevole
Ogni studente ha il suo account di posta: vale la pena diusarlo!
26-09-2005Lezione 1: Introduzione al corso 28
Valutazione: gli obiettivi
Dimostrare conoscenza e padronanza degli argomentidel corsoMostrare dimestichezza con i calcolatori elettronici econ il loro mondoDimostrare la capacità di inventare algoritmi risolutividi problemi di programmazioneDimostrare la capacità di scoprire, osservando ilcomportamento anomalo di un programma, le cause ditale anomalia, o, se ciò non è possibile, di inventare gliesperimenti necessari per trovarle
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 15
26-09-2005Lezione 1: Introduzione al corso 29
Un sillogismo semplice semplice:
Chi non frequenta le lezioni e le esercitazioni non fa leprove in itinere.Chi non fa le prove in itinere assai difficilmente superal’esame subitoChi non dà gli esami subito è perduto!
26-09-2005Lezione 1: Introduzione al corso 30
Valutazione: le prove in itinere
Saranno effettuate 3 (tre) prove durante il corso.Le prove si svolgeranno al termine della lezione delgiorno relativo, avranno una durata 60 minuti econsisteranno in una serie di domande a rispostamultipla o apertaPer superare l’esame, è necessario che tutte le provesiano state sostenute con esito positivo. E’ possibilerecuperare ogni prova durante la prova successiva. E’possibile recuperare la terza prova durante il primoappello di esame della sessione Q1.Il complesso delle prove in itinere costituisce un esame,ed è governato dalle stesse regole.
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 16
26-09-2005Lezione 1: Introduzione al corso 31
Criterio di valutazione delle prove
Ad ogni risposta data (compresa la mancata risposta) vieneassegnato un punteggio, dipendente
Dalla domandaDalle risposte degli altri studenti
I punteggi assegnati ad ogni risposta non saranno resi notiIl punteggio della prova è determinato dal rapporto fra la sommaalgebrica dei punteggi delle singole risposte date, e la somma deipunteggi delle risposte giustePer essere considerato sufficiente, il punteggio di ogni provadeve essere .6Se tutte le prove sono sufficienti, il voto proposto è pari alrisultato del seguente calcolo:
V = trunc33
3P
i
i=1
3
+ .5
26-09-2005Lezione 1: Introduzione al corso 32
Criterio di valutazione delle prove
Se saranno rilevati tentativi di alterare il risultato delleprove (copiature o altro) si passerà immediatamente,con effetto retroattivo, ad un sistema di valutazionecompetitiva a somma fissa dei votiÈ un sistema ingiusto e disonesto, ma sempre menoingiusto e disonesto del tentativo di attribuirsi meritiche non si possiedono
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 17
26-09-2005Lezione 1: Introduzione al corso 33
5
Calendario del corso, delle prove initinere e degli esami
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
16
17
18
19
20
21
22
23
24
25
Lu
Ma
Me
Gi
Ve
Sa
Do
Ottobre Novembre Dicembre
26
27
28
29
30
31
1
2
3
4
6
7
8
15 12
9
10
11
13
14
15
Genn.
26-09-2005Lezione 1: Introduzione al corso 34
L’iscrizione alle prove in itinere
Per poter sostenere le prove in itinere, ognuno di voideve compilare per via telematica il moduloall’indirizzo
http://www.ing.unibs.it/~cassinis/Dida/current/fondinfo/varie/registra.htm
raggiungibile dal sito del corso (o dal portale deglistudenti)
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 18
26-09-2005Lezione 1: Introduzione al corso 35
Valutazione: gli esami
Chi non supera o non accetta il voto delle prove in itinere devesostenere l’esame “normale”L’esame normale consta di:
Una prova scritta, con domande a risposta multipla e aperta;Una prova pratica, consistente nella soluzione estemporanea, alcalcolatore, di un problema di programmazione in Java e di uno in C;Una prova oraleNel caso in cui gli iscritti a un appello fossero pochi, le prove potrannoessere conglobate in un’unica prova orale e/o pratica
Gli appelli di esame si terranno solo ed esclusivamente neiperiodi e nel numero stabiliti dalla Facoltà. In nessun caso siterranno appelli straordinari, speciali, suppletivi, ecc. nonstrettamente obbligatori ecc.Per casi burocratici particolari, i risultati saranno tenuti adisposizione fino al termine della sessione di recupero dell’annoaccademico in corso (settembre 2006)
26-09-2005Lezione 1: Introduzione al corso 36
L’iscrizione agli esami
L’iscrizione agli esami si effettua con le modalità standard, ed èfondamentale per programmarliL’iscrizione è obbligatoria: non sarà in nessun caso ammessoall’esame chi non si è iscritto, anche se deve solo verbalizzare unvotoL’iscrizione è un impegno: chi non si presenta all’appello a cui siè iscritto sarà considerato ritirato, a meno che non abbiacancellato la propria iscrizione
L’iscrizione si può cancellare fino alla chiusura dell’appelloOppure
Si può mandare un messaggio, in caso di emergenza, dopo la chiusura
Iscrivetevi per tempo: non si accettano scuse legateall’impossibilità di collegarsi ecc.
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 19
26-09-2005Lezione 1: Introduzione al corso 37
Il Laboratorio INFO1 (Via Valotti)
È stato chiuso la settimana scorsa
Non è chiaro se e quando sarà riaperto
La decisione dipende dalla Presidenza
C’è anche l’aula ECDL
26-09-2005Lezione 1: Introduzione al corso 38
Le prime cose da fare:
Iscriversi alla mailing listIscriversi alle prove in itinereTutto ciò va fatto entro
DOMENICAPROSSIMA
Dopo non sarà più possibileProcurarsi il materiale didattico, almeno per quantoriguarda il C.
Fondamenti di Informatica C - R. Cassinis
26-09-2005Lezione 1: Introduzione al corso 20
26-09-2005Lezione 1: Introduzione al corso 39
26-09-2005Lezione 1: Introduzione al corso 40
E allora…