Sei sulla pagina 1di 24

Introduzione

Nell’immaginario collettivo
• Ingegnere Meccanico

2
Nell’immaginario collettivo
• Ingegnere Gestionale

3
Nell’immaginario collettivo
• Ingegnere Matematico

4
Nell’immaginario collettivo
• Ingegnere Informatico

5
Informazioni Generali
• Docente:
– Alessandro Campi
e-mail: alessandro.campi@polimi.it
– Dipartimento di Elettronica, Informazione e
Biongegneria (DEIB)
ufficio n° 141 [1° piano, (molto) in fondo a sinistra]
tel. 3644 (dall’esterno: +39-02-2399-3644)

6
Informazioni Generali
• Laboratorio (18 ore)
– Calendario e composizione delle SQUADRE:
• Sul sito del corso

7
Informazioni Generali
• Esame:
– Su tutto il programma [soglia: voto >= 18]
– Come da calendario di facoltà

8
Libri
• Testo di riferimento: D.Mandrioli, S.Ceri, L.Sbattella, P. Cremonesi, G.
Cugola: “Informatica: arte e mestiere”, McGraw-Hill
• Altri testi, eserciziari e manuali vari di C:
– A. Bellini, A. Guidi: Linguaggio C - Guida alla programmazione –
ed. McGraw-Hill [graduale e completo, adatto a chi parte da zero]
– D. Braga, D. Martinenghi: Fondamenti di Informatica, Temi
d’esame risolti – ed. Esculapio
– Jeri R. Hanly, Elliot B. Koffman: Problem solving e
programmazione in C
– B. Kernighan, D. Ritchie: “Linguaggio C [ANSI C]”, ed. Jackson Libri [il
testo (tosto) di chi il C lo ha inventato – insegna tutto sul C, ma non
insegna a programmare]
– C. Bellettini et al.: “Linguaggio C: Esercizi e Temi d’Esame Risolti”, ed.
Esculapio, Progetto Leonardo
– Altri testi... vanno bene tutti, e nessuno è perfetto

9
Sito Web del corso
• Si entra nel sito CorsiOnLine del
Politecnico di Milano
– http://beep.metid.polimi.it
– matricola e password (la stessa del webpoliself)
• Informatica A (Alessandro Campi)
• Pagina principale  Contenuti del corso
– probabilmente ci saranno tutte le risposte, ma...

10
Ricevimento studenti
• Orario di ricevimento
– Sul sito del Politecnico
• MA il modo migliore (e più sicuro) per essere ricevuti e
ascoltati è fissare un appuntamento (via e-mail)
– Scrivendo in modo sintetico ma chiaro [non un sms lungo]
• Identificandosi precisamente [nome, matricola, corso]
• Spiegando brevemente lo scopo dell’incontro
– chiarimenti didattici su..., problemi amministrativi per..., etc.
• Dando all’e-mail un subject sintetico ma preciso
– Es: “Richiesta colloquio per chiarimenti InfoA (Rossi, 623372)”
– Indicando le proprie disponibilità per i 3-5 giorni successivi
• così non vi si convoca quando avete lezione, visite mediche, …
• Inoltre, se i quesiti ammettono risposta via e-mail...
... l’interazione più efficace è proprio l’e-mail!

11
Questo corso....
• È un corso difficile
• Contrariamente ad altri corsi, però, può
sembrare facile
• Quindi è ancora più difficile

• Tutte le nozioni, prese individualmente,


sono molto semplici
– Combinarle “ad arte”, però, è difficile

12
Le fissazioni del docente
• Non è la stessa cosa
– Venire in aula a seguire o venire in aula a chiacchierare
– Essere proattivi o non esserlo
– Vivere il momento presente o vivere aspettando sempre qualcos’altro
• Quello che fa la differenza sono i particolari, i dettagli
– Non esiste “quasi giusto”, o è corretto o è sbagliato
• Si parla uno alla volta
– Potete fare tutte le domande che volete, anzi, vi sollecito a dirmi quando
non avete capito o quando corro troppo, altrimenti finisco il programma
tra 10 giorni
– Ma non riesco a spiegare se c’è brusio di sottofondo
• Non dite mai “Questa cosa per me è impossibile”
– Kennedy, guardando la Luna, non disse “è troppo lontana”

13
DOMANI E QUESTA SETTIMANA
• Mercoledì 18 faremo lezione in Sala Conferenze del DEIB
dalle 8:30 alle 12 e poi in aula 2.0.1 dalle 15:30 alle 18
• Giovedì 19 in aula 2.0.1 dalle 10:30 alle 13

• Per trovare la Sala conferenze del DEIB


http://www.deib.polimi.it/ita/come-raggiungerci

14
Che cos’è l’informatica?
definizioni spontaneamente proposte dagli allievi

15
Perché studiare informatica?
• Perché l’informatica è, a livello
mondiale, uno dei maggiori settori
industriali, e ha importanza strategica
• Perché, oltre ad essere una tecnologia
primaria, è una tecnologia abilitante
per altre tecnologie e per altri settori
industriali
• Per capire la società dell’informazione

16
Che cos’è l’Informatica?
È la scienza che si occupa della
rappresentazione dell’informazione e
della sua elaborazione e gestione

• non solo la tecnologia dei calcolatori, ma


anche il modo in cui l’informazione viene
strutturata ed elaborata automaticamente
– differente da altre attività meno formalizzate (es: il
giornalismo) che pure trattano informazioni

17
Che cos’è l’Informatica?
• Scienza: approccio rigoroso e sistematico
• Informazione: è parte di ogni attività umana
• Rappresentazione: astrarre i concetti
importanti da quelli trascurabili, per modellare
opportunamente la realtà di interesse:
– occorre studiare metodi di rappresentazione appropriati
all’elaborazione da parte di una macchina digitale
• Elaborazione e Gestione: uso e
trasformazione dell’informazione in modo
funzionale agli obiettivi

18
Che cos’è l’Informatica?
È lo studio sistematico degli algoritmi
che descrivono e trasformano
l’informazione: la loro teoria, analisi,
progetto, efficienza, realizzazione e
applicazione

• Definizione dell’ACM
– Association for Computing Machinery
– la principale organizzazione che riunisce
ricercatori e professionisti informatici

19
Che cos’è l’Informatica?
È l’arte di programmare i
calcolatori elettronici

• “Definizione” di Donald E. Knuth


– “The Art of Computer Programming”
• 1963  1968  1973  2005  ...
• http://www-cs-faculty.stanford.edu/~knuth/

20
Programmare significa...
Scrivere programmi1 in un linguaggio artificiale2, rigoroso e
comprensibile ad un esecutore3, con i quali implementiamo4 gli
algoritmi5 che riteniamo6 risolvano i problemi di cui abbiamo
creato un modello7

(1) collezioni di istruzioni


(2) in questo corso: il C
(3) in questo corso: la macchina astratta C
(4) realizziamo, codifichiamo, traduciamo…
(5) sequenze finite di passi elementari
(6) nel caso generale, NON ci sono garanzie!
(7) opportuna “semplificazione” (astrazione) dei problemi reali

Programmare è un atto creativo


21
Programmiamo!
• Impariamo un linguaggio di programmazione:
– Il linguaggio C (standard ANSI)
– Usiamo il C per codificare algoritmi
ma soprattutto...
• Impariamo come si imposta un programma:
– L’astrazione necessaria
– I tipi di dati e le strutture dati opportuni
– Le strutture di controllo e gli algoritmi

22
I Calcolatori Elettronici
• Strumenti in grado di eseguire
operazioni non complesse

Modello attuale:
– Capacità di scelta
• possibilità di compiere azioni diverse in base allo stato
interno del sistema
– Funzionalità programmata
• capacità di modificare il proprio comportamento in base
al programma
– Dispositivi digitali
• basati su grandezze rappresentate su domini discreti,
non continui (oggi tutti binari)

23
I Modelli dei Calcolatori
• Macchina di Turing (1936):
– Modello teorico legato alla logica
matematica
• Macchina di von Neumann
(194346)
– Calcolatore reale (ENIAC) dotato
di capacità di scelta, di funzionalità
programmata e digitale (ma non
binario bensì decimale)
– Calcola esattamente le stesse
funzioni della MdT
(purché dotato di memoria
sufficientemente grande)

24