Introduzione al corso di Programmazione e Laboratorio



Documenti analoghi
Elementi di Informatica e Programmazione

Informatica B. Daniele Loiacono

Organizzazione del corso

FONDAMENTI DI INFORMATICA II

Corso di Fondamenti di Informatica e Laboratorio T-AB

algoritmi e strutture di dati

Fondamenti di Informatica e Laboratorio T-AB

Corso di Fondamenti di Informatica T-1

Corso di. Fondamenti di Informatica T

Sistemi Operativi Informatica II. Presentazione del corso. a.a Patrizia Scandurra

Corso di Fondamenti di Informatica T-1

Fondamenti di Informatica T1"

CORSO DI FONDAMENTI DI INFORMATICA

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011. Benvenuti al Corso!

Corso di Fondamenti di Informatica e Laboratorio ato o T-AB

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco

Introduzione al corso di Fondamenti di informatica. ingegneria elettronica Anno Accademico Donatella Firmani ottobre 2016

Fondamenti di Informatica e Programmazione

FONDAMENTI DI INFORMATICA

Fondamenti di Informatica

FONDAMENTI DI INFORMATICA

Fondamenti di Informatica. Proff. B.Buttarazzi & A.D Ambrogio A.A. 2011/2012

Fondamenti di Informatica

Fondamenti di Informatica MultiDAMS

Programmazione C Massimo Callisto De Donato

Fondamenti di Informatica modulo B

Elementi di Informatica

Fondamenti di Informatica

Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro

Algoritmi e Strutture dati a.a. 2013/2014

Fondamenti di Informatica (lettere A-I) A

Algoritmi e Strutture dati a.a. 2012/2013

Fondamenti di Informatica

Architettura degli Elaboratori

Fondamenti di Informatica A.A Studenti

Matematica Corso Base a.a INTRODUZIONE LEZIONE I Federica Ricca

Transcript:

Introduzione al corso di Programmazione e Laboratorio A.A. 2008/09 Gianluigi Cibinetto

Io Pagina web http://df.unife.it/u/cibinett http://www.fe.infn.it/~cibinett Ufficio Blocco C - stanza 228 al secondo piano E-mail cibinett@fe.infn.it Orario di ricevimento In genere sono abbastanza di fretta quindi tendo a non soffermarmi troppo a fine lezione In piu la mia agenda varia molto di settimana in settimana Il miglior modo e prendere un appuntamento via e-mail 2

Voi?

Il corso i corsi Programmazione (56 ore) Laboratorio di programmazione (56 ore) Orario sbilanciato: alcune parti di teoria verranno fatte in laboratorio. Quindi in realta sono due corsi, con un impegno di circa 10-12 ore alla settimana + studio + eccetera. 4

Orario Mattina Lunedi' Martedi' Mercoledi' Giovedi' Venerdi' x prog(10:30-12:30) aula F6 x Pomeriggio progr (14-17) info1 x progr (14-17) info1 progr (14-17) info1 progr (14-17) info1 Riunioni x x x In realta lunedi 14-16 Giovedi 14-16 Possibili cambiamenti in base ai miei impegni e alla vostra necessita (speriamo di no) di dover recuperare. 5

Di cosa si parlera` Un po di algoritmi e macchine per la loro realizzazione Un po di sistemi operativi Molto di come si scrivono i programmi Programmazione in linguaggio C Programmazione in shell di unix/linux 6

Di cosa non si parlera` 7

Che cosa si fara` in laboratorio Tanto esercizio Tanti programmi apparentemente stupidi Progettazione di semplici algoritmi Pensare Imparate a programmare 8

Come sara` gestito il laboratorio Inizialmente singolarmente, perche ciascuno sia in grado almeno di accendere un PC e di completare le istruzioni di base. La maggior parte del corso a coppie: si lavorera a coppie, gli esercizi a casa verranno dati a coppie, studierete a coppie. E importante imparare l uno dall altro Non vuol dire fare meta del lavoro Non copiate da altri gruppi Parte finale in gruppi piu ampi (da decidere) 9

Prerequisiti Un po di terminologia Un minimo di matematica Capacita di ragionare Ricominciare a fare come da piccoli: usare la testa 10

Fare domande domande Fare domande e importante, non solo per voi ma per l intera classe Non siate timidi 11

Piu in dettaglio il programma Prima settimana 1 Th Lab Th Th Lab 1 intro corso intro algoritmi macchine per risolvere algorarchitettura calcolatori sistemi operativi 2 intro algoritmi algebra di boole macchine per risolvere algorarchitettura calcolatori sistemi operativi 3 algebra di boole linux/unix Seconda settimana 2 Th Lab Th Th Lab 1 introduzione alla programmalinguaggi di programmazion linguaggi di programmazion basi del C linux 2 introduzione alla programmalogin introduzione al C cicli hello! 3 linux primi programmi 12

Programma del corso Terza settimana 3 Th Lab Th Th Lab 1 cicli / if cicli e if input/output stdio.h - math.h cicli e if 2 if switch cicli e if input/output stdio.h - math.h stdio 3 cicli e if stdio Quarta settimana 4 Th Lab Th Th Lab 1 funzioni funzioni funzioni e librerie - header f funzioni funzioni 2 funzioni funzioni funzioni e librerie - header f funzioni funzioni 3 funzioni funzioni 13

Programma del corso Quinta settimana 5 Th Lab Th Th Lab 1 array e puntatori array e puntatori array e puntatori array e puntatori array e puntatori 2 array e puntatori array e puntatori array e puntatori array e puntatori array e puntatori 3 array e puntatori array e puntatori Sesta settimana 6 Th Lab Th Th Lab 1 strutture strutture strutture e grafica strutture strutture e grafica 2 strutture strutture strutture e grafica strutture strutture e grafica 3 strutture strutture e grafica 14

Programma del corso Settima settimana 7 Th Lab Th Th Lab 1 algoritmi di ricerca algoritmi di ricerca crittografia e numeri casuali algoritmi algoritmi e programmi 2 algoritmi di ricerca algoritmi di ricerca crittografia e numeri casuali algoritmi algoritmi e programmi 3 algoritmi di ricerca algoritmi e programmi Ottava settimana 8 Th Lab Th Th Lab 1 scripting e altri linguaggi script scripting script script 2 scripting e altri linguaggi script organizzazione progetto script script 3 script script 15

Programma del corso Nona settimana 9 Th Lab Th Th Lab 1 approfondimenti progetto approfondimenti progetto progetto 2 approfondimenti progetto approfondimenti progetto progetto 3 progetto progetto Decima settimana 10 Th Lab Th Th Lab 1 progetto progetto 2 progetto progetto 3 progetto 16

Il laboratorio Principali difficolta del laboratorio Tecniche Sociali (I) Sociali (II) Laptop 17

I compiti a casa 18

Dove studiare (I) Ciascuno ha i suoi metodi per studiare e preparare gli esami. Gli appunti che prendete a lezione sono un buon punto di partenza se ordinati Le mie trasparenze sono un altrettanto valido punto di partenza. Finora ho detto solo punto di partenza. Non vi daro dispense sulle quali studiare. 19

Dove studiare (II) Il miglior strumento per studiare e approfondire sono i libri: The C programming language (second edition) Kernighan, Ritchie (Prentice Hall) Informatica arte e mestiere Ceri, Mandrioli, Sbattella (McGraw-Hill) Qualsiasi altro testo/manuale che vi piaccia e con cui vi troviate bene. Altri supporti 20

Studiare prima Avere un idea di quello che si fara a lezione e importante: Capite meglio Fate domande piu intelligenti e utili Impiegate meno tempo per studiare dopo Alla fine di ogni lezione diro quale sara l argomento successivo e dove potere studiarlo. 21

Il progetto finale e relazione Strutturato a gruppi Durata variabile (indicativamente 12-15 ore di programmazione) Relazione finale (non facoltativa), da consegnare entro la fine del corso. 22

L esame Scritto Su tutto il programma Orale Su tutto il programma 23

Suggerimenti per l esame 24

Prima di proseguire 25

Torniamo a voi 26

Lettera di un amico Caro G. ( ) Secondo te pretendo troppo da una persona laureata in informatica con 110 (forse e lode) se quando le dico al telefono che la password di un sito e' "cheguevara tutto attaccato" e lei mi dice "non va!" e io: "...come l'hai scritto?!?", lei: "come si dice... [ceghevara]"...le ho fatto lo spelling e poi "ah adesso va! ( ) Poi le ho detto che per vedere i plugin di firefox deve scrivere about:plugins nella barra dell'indirizzo e lei mi dice "non va!" e le chiedo come ha scritto plugins...beh immagina com e andata... ( ) Per non parlare poi di due cicli annidati ( ) A presto, C. 27

Che Guevara plugin di Firefox while (i<10) { while (j<10) { a=i+j; } } Cicli annidati 28

29