FONDAMENTI TEORICI E PROGRAMMAZIONE - A
Settore: INF/01 | Codice: 437AA | Crediti: 12 | Semestre: 1 |
Docenti: Occhiuto Maria Eugenia, Marino Andrea |
Obiettivi di apprendimento
ConoscenzeMetodi formali per l'informatica Modulo A: Introduzione alla risoluzione di problemi e acquisizione della conoscenze di base della programmazione,
Elementi di programmazione Modulo B: Acquisizione di concetti di base della teoria del calcolo.
Modalità di verifica delle conoscenze
Le studente deve essere in grado di risolvere gli esercizi proposti nella prima prova e di rispondere alle domande poste alla seconda prova
CapacitàAlla fine del corso lo studente deve essere in grado di scrivere semplici programmi in JavaScript che utilizzano i tipi primitivi e gli array e i costrutti di base ed avere acquisito e fatto propri i concetti fondamentali della teoria del calcolo.
Prerequisiti
Nessuno. E` pero utile che lo studente abbia delle buone basi di matematica e logica.
Indicazioni metodologiche
- Le lezioni sono frontali, con ausilio di slides che vengono pubblicate sulla pagina del corso spesso in anticipo. Gli studenti sono invitati a guardare le slides anche prima della lezione per poter seguire in modo più attivo e proficuo alla comprensione dei temi trattati.
- Le esercitazioni si svolgono in parte in laboratorio usando i PC delle aule informatiche, o i PC personali degli studenti, in parte in aula invitando gli studenti a mostrare la soluzione del problemi proposto e discutendo le diverse soluzioni possibili.
- Gli esercitatori aiutano gli studenti prevalentemente nella parte di programmazione (Modulo A). Possono tenere le esercitazioni e i ricevimenti degli studenti. Chiariscono dubbi e rispondono alle domande, correggono gli esercizi.
- Il materiale didattico è in gran parte scaricabile dalla pagina web del corso ed in ogni caso tutte le informazioni sul materiali didattici, comunicazioni docente-studenti, avvengono sul sito del corso. E` necessario registrarsi su mooodle polo4.elearning.unipi.it/ e iscriversi al corso.
- Durante il corso vengono tenuti dei ricevimenti in aula per incoraggiare gli studenti a presentare e discutere le loro soluzioni ai problemi e la formazione d gruppi di studio.
Programma
Modulo A:
Argomento: Introduzione alla programmazione utilizzando il linguaggio JavaScript.
Argomenti affrontati:
- Espressioni
- Variabili: dichiarazioni e uso
- Comandi: assegnamento, condizionali e iteratori.
- Funzioni: definizioni e invocazione.
- Visibilita` dei nomi
- Strutture dati: array e array associativi.
Modulo B:
Argomento: Concetti di base dell'informatica.
Argomenti affrontati:
- Concetti di base del ragionamento formale e ai vari tipi di dimostrazioni. [1]
- Insiemi [2]
- relazioni [2]
- funzioni [2]
- grafi [2]
- alberi [2]
- Linguaggi formali: automi e grammatiche [3]
Bibliografia
Testi modulo A:
Lucidi delle lezioni, pubblicati sulla pagina del corso
V. Ambriola. "Programmazione in JavaScript": Prima parte, Nota didattica, V. Ambriola, in formato pdf
Testi modulo B:
Lucidi delle lezioni.
[1] Automi linguaggi e calcolabilita` Hopcroft J. et al. cap.1
[2] T. Cormen et al. "Introduzione agli algoritmi", Jackson libri, cap.5
[3] R. Barbuti et al. Elementi di Sintassi dei Linguaggi di Programmazione", pdf
Testi di consultazione:
- Automi linguaggi e calcolabilita` Hopcroft J
- Introduzione alla teoria della computazione M. Sipser
Non frequentanti
Nessuna indicazione. Il programma e le competenze richieste sono le stesse per tutti gli studenti.
Modalità di esame
L'esame prevede 2 prove:
- la prima prova è scritta e richiede la soluzione di esercizi e la scrittura di programmi, con la possibilità di consultare il materiale didattico. La prova e` articolata in 2 parti relative ciascuna ad un modulo (A e B). Per superare la prova è necessario ottenere la sufficienza in entrambi i moduli.
- La seconda prova richiede di rispondere a domande di teoria ed eventualmente di risolvere esercizi, senza la consultazione di materiale didattico. Questa seconda prova può essere orale o scritta.
L'ammissione alla seconda prova è condizionata al superamento della prima prova.
Prove in itinere A metà circa del corso viene tenuta una prima prova in itinere sulla parte di programma svolto fino a quel momento. Alla fine delle lezioni viene tenuta una seconda prova in itinere sulla parte di programma svolta nella seconda parte del corso. La seconda prova in itinere è riservata agli studenti che hanno hanno ottenuto la sufficienza nella prima prova. Le prove in itinere superate con successo valgono l'ammissione alla seconda prova.
Iscrizione alle prove Sul portale esami di ateneo vengono fissate le date delle prime prove di ogni appello, a cui gli studenti devono iscriversi per poter sostenere la prova. Nella prima sessione (gennaio/febbraio), la seconda prova può essere sostentuta in una delle date fissate dal docente previa iscrizione sullla pagina web del corso. Nelle sessioni successive la seconda prova di ogni appello viene fissata d'accordo con gli studenti in un'unica data precedente la prima prova dell'appello successivo e comunicata agli studenti al momento della pubblicazione dei risultati della prima prova sulla bacheca: Risultati delle prove in itinere e degli esami.
Pagina del corso
http://polo4.elearning.unipi.it/course/Altri riferimenti web
Fonte: ESSETRE e Portale esami