Programmazione

Struttura insegnamento e programma

Edizione attiva
Responsabile
Laboratori: 48 ore
Lezioni: 72 ore
Docenti: Anisetti Marco, Cordone Roberto, Gaudenzi Filippo
STUDENTI FREQUENTANTI
Programma
NOZIONI DI BASE
· Nozione di algoritmo.
· Fasi della programmazione.
· Strumenti di modellazione.
· Documentazione.
· Breve storia della programmazione.
· Linguaggi e Paradigmi di programmazione.
· Compilatori
PROGRAMMAZIONE STRUTTURATA
· Principi della programmazione strutturata.
· Raptor: strumento per la programmazione utilizzando flowchart.
· Linguaggio C: espressioni e assegnamenti, costrutti di controllo, tipi predefiniti, vettori, matrici e stringhe, tipi strutturati, puntatori e gestione della memoria, funzioni e passaggio di parametri, main e parametri al main, libreria standard, gestione dei file.
· Eliminazione dei Salti: teorema di Böhm-Jacopini, trasformazione di Ashcroft e Manna.
· Correttezza del codice: elementi di validazione e verifica della correttezza
PROGRAMMAZIONE AD OGGETTI
· Concetti fondamentali: Modularità, astrazione e tipi di dato astratto, incapsulamento, classi ed oggetti, ereditarietà e polimorfismo
· Riuso del software: pattern, programmazione orientata agli aspetti
· Raptor ad oggetti ed esempi in Java
Informazioni sul programma
Questo è un corso introduttivo alla programmazione, ai suoi principi ed alle sue tecniche. Il suo scopo è quello di familiarizzare lo studente, che potrebbe non essere mai stato esposto alla programmazione, con questa disciplina e fornirgli quella comprensione e gli strumenti necessari ad affrontare tutti i corsi che ne presuppongono la conoscenza
Propedeuticità
Nessuna
Prerequisiti e modalità di esame
Prerequisiti: nessuno


L'esame si articola in una prova scritta, una prova pratica e una prova orale.
La prova scritta richiede la soluzione di esercizi sulla programmazione di base e sui fondamenti per la programmazione strutturata. Viene altresì richiesta la risposta a quesiti teorici sugli aspetti dei linguaggi di programmazione e sulle tecniche di base della programmazione viste a lezione.
La prova pratica richiede la risoluzione di alcuni esercizi di programmazione
ed è volta ad accertare la capacità dello studente di modellare e risolvere
problemi con il calcolatore. Lo studente riceve il testo di un problema
di complessità tale da non poter essere risolto a mano, e alcuni dati di esempio.
Gli viene chiesto di scrivere, nel linguaggio trattato durante il corso,
un programma che risolva il problema e di fornire il risultato a un'interfaccia web,
che ne valuta la conformità col risultato corretto.
Il superamento della prova pratica e della prova scritta con media superiore a 24 dà accesso alla prova orale. La prova orale è facoltativa per gli studenti che abbiano superato sia la prova scritta sia la prova pratica.
La prova orale consiste in un colloquio sugli argomenti a programma in entrambi
i moduli, volto ad accertarne la conoscenza e la capacità di applicazione. La prova orale potrebbe vertere parzialmente sulla discussione di un progetto svolto in accordo con il docente.
Metodi didattici
Lezioni frontali e laboratori
Materiale didattico e bibliografia
Dispense e lucidi a cura dei docenti, disponibili sul sito dell'insegnamento
STUDENTI NON FREQUENTANTI
Programma
NOZIONI DI BASE
· Nozione di algoritmo.
· Fasi della programmazione.
· Strumenti di modellazione.
· Documentazione.
· Breve storia della programmazione.
· Linguaggi e Paradigmi di programmazione.
· Compilatori
PROGRAMMAZIONE STRUTTURATA
· Principi della programmazione strutturata.
· Raptor: strumento per la programmazione utilizzando flowchart.
· Linguaggio C: espressioni e assegnamenti, costrutti di controllo, tipi predefiniti, vettori, matrici e stringhe, tipi strutturati, puntatori e gestione della memoria, funzioni e passaggio di parametri, main e parametri al main, libreria standard, gestione dei file.
· Eliminazione dei Salti: teorema di Böhm-Jacopini, trasformazione di Ashcroft e Manna.
· Correttezza del codice: elementi di validazione e verifica della correttezza
PROGRAMMAZIONE AD OGGETTI
· Concetti fondamentali: Modularità, astrazione e tipi di dato astratto, incapsulamento, classi ed oggetti, ereditarietà e polimorfismo
· Riuso del software: pattern, programmazione orientata agli aspetti
· Raptor ad oggetti ed esempi in Java
Materiale didattico e bibliografia
docenti, disponibili sul sito
Periodo
Primo semestre
Periodo
Primo semestre
Modalità di valutazione
Esame
Giudizio di valutazione
voto verbalizzato in trentesimi
Siti didattici
Docente/i
Ricevimento:
Su appuntamento
Ufficio docente (7003) presso il Dipartimento di Informatica in Via Celoria 18, Milano (MI)
Ricevimento:
Su appuntamento
DI - Via Celoria 18, Milano