Programma di Fondamenti Di Informatica:

OBIETTIVI FORMATIVI:   Gli allievi acquisiscono le conoscenze relative agli aspetti metodologici, teorici ed applicativi dei temi di base della informatica. Vengono in particolare trattati i fondamenti delle macchine di Von Neumann (moderni calcolatori), i fondamenti della computabilità, la nozione di algoritmo e i fondamenti della loro complessità; al termine del corso lo studente avrà acquisito le competenze necessarie per analizzare e risolvere problemi attraverso la programmazione delle macchine    CONOSCENZA E CAPACITÀ DI COMPRENSIONE:  Vengono in particolare trattati i fondamenti delle macchine di Von Neumann (moderni calcolatori), i fondamenti della computabilità, la nozione di algoritmo e i fondamenti della loro complessità; al termine del corso lo studente avrà acquisito le competenze necessarie per analizzare e risolvere problemi attraverso la programmazione delle macchine      CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE:   In particolare lo studente avrà avuto modo di apprendere i mezzi per tradurre gli algoritmi in programmi attraverso uno specifico linguaggio di programmazione.     AUTONOMIA DI GIUDIZIO:    Sarà inoltre in grado di definire una soluzione personale per la soluzione di problemi computazionali specifici.     ABILITÀ COMUNICATIVE: La sintesi richiesta nella definizione di programmi in un opportuno linguaggio informatico stimola le abilità comunicative.    CAPACITÀ DI APPRENDIMENTO:   Infine le conoscenze di base dell’informatica apprese nel corso contribuiscono a sviluppare capacità di apprendimento da parte dello studente mettendolo nelle condizioni di poter approfondire in maniera autonoma le tematiche affrontate.     PROGRAMMA  
  • Introduzione alla calcolabilità: algoritmi e complessità
  • Introduzione alla rappresentazione dell'Informazione
  • La programmazione (in Python)
    • Le Variabili e i Tipi di dato
    • Condizioni e Decisioni
    • Cicli
    • Funzioni
    • Strutture dati: Liste, Insiemi e Dizionari
    • Strutture dati: Oggetti, Classi ed Ereditarietà
  • Algoritmi
    • Ordinamento
    • Ricerca
  • Costruzione di un moderno sito web
    MODALITA' D'ESAME   L'esame del corso di 9CFU risulta composto di due parti da tenersi nella stessa giornata:   Prima Parte: Esame sui primi 6 CFU che consta di 4 esercizi di programmazione e una domanda teorica da completarsi in 1 ora e 30 minuti. E' possibile consegnare solo compiti funzionanti ed è necessario venire con un proprio PC e un'account google personale per la consegna in formato elettronico.    Seconda Parte: Esame sui secondi 3 CFU: esame teorico scritto di 30 minuti e sito web personale (l'indirizzo del sito web dovrà essere inviato prima della data d'esame per mail con oggetto FOIN2018 - insieme a nome cognome numero di matricola)   Alla seconda parte si accede solo se si consegna la prima parte funzionante per almeno 18/30. Il voto sarà dato come media ponderata della prima e della seconda parte.   TESTI   Cay Horstmann, Rance D. Necaise, Concetti di Informatica e Fondamenti di Python, Maggioli Editore, 2014