Salta al contenuto principale
CODICE 80299
ANNO ACCADEMICO 2025/2026
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
SEDE
  • GENOVA
PERIODO 1° Semestre
FRAZIONAMENTI Questo insegnamento è diviso nelle seguenti frazioni:
  • A
  • B
  • PRESENTAZIONE

    L'insegnamento di Introduzione alla Programmazione ha l'obiettivo di fornire le prime basi di programmazione, dando una particolare enfasi agli aspetti di ragionamento scientifico e pensiero computazionale. L'insegnamento prevede attività di didattica frontale affiancate a laboratori guidati che servono per approfondire e consolidare gli argomenti visti in classe.

    L'insegnamento ha un forte connotato applicativo, lo studente è incoraggiato ad affrontare problemi di complessità crescente in autonomia.

    OBIETTIVI E CONTENUTI

    OBIETTIVI FORMATIVI

    Acquisire familiarità con i concetti fondamentali della programmazione imperativa utilizzando il C++, limitato alla parte non object-oriented, imparando a progettare, realizzare e validare codice di piccole dimensioni e facile da comprendere partendo dalle specifiche informali fornite dall'utente.

    OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

    Al termine del modulo lo studente/la studentessa dovrà:

    • Conoscere i principi del pensiero computazionale
    • Conoscere i concetti fondamentali della programmazione imperativa con linguaggi di programmazione classici 
    • Saper utilizzare strumenti di ambiente testuale di sviluppo di programmi (realizzati in linguaggio  C++ limitato alla parte non object-oriented), con un editor di testi, compilazione ed esecuzione da linea di comando.
    • Conoscere i principi di progettazione, realizzazione e validazione di un programma sequenziale di piccole dimensioni partendo dalle specifiche informali fornite dall'utente. 
    • Saper produrre codice corretto e comprensibile; nonche' di comprendere, utilizzare, modificare codice prodotto da altri

    MODALITA' DIDATTICHE

    • Lezioni frontali "teoriche" (in aula)
    • Laboratori guidati 
    • Esercizi erogati tramite aulaweb

     Vista l'importanza culturale di questo insegnamento (alla base di tutti gli insegnamenti di informatica del corso di laurea) la frequenza assidua è particolarmente consigliata e incoraggiata. 

    PROGRAMMA/CONTENUTO

    L'insegnamento  è formato da una parte di lezioni teoriche che si svolgono in aula e da una consistente parte pratica di programmazione che si svolge in laboratorio e con compiti a casa. La data di inizio del laboratorio verrà comunicata in aula. 

    Argomenti trattati in aula

    • Introduzione al corso, al pensiero computazionale e alla programmazione.
    • Ambienti di programmazione e linguaggi formali.
    • Programmazione imperativa: variabili e costanti; assegnazione; input/output; costrutti di selezione; costrutti di iterazione; tipi base; tipi di dato strutturato: sequenze e struct; funzioni e  meccanismi di passaggio dei parametri; puntatori; allocazione dinamica sullo heap; vettori dinamici;  liste semplici e operazioni su liste semplici; ricorsione semplice.

    TESTI/BIBLIOGRAFIA

    Le lezioni saranno in gran parte svolte con l'ausilio di slide. Le slide possono essere utilizzate come traccia ma *non* sono sufficienti per la preparazione dell'esame.

    • Durante le lezioni si farà in gran parte riferimento al libro: D.S. Malik Programmazione in C++ Apogeo, 2011, ISBN 978-88-503-2967-0
    • Va benissimo anche (ed e' consigliato come testo di riferimento): B. Stroustrup, Programming: Principles and Practice Using C++, Addison-Westley, 2009, ISBN 978-0321543721. 1272 pagine (disponibile solo in inglese - ce ne sono alcune copie in biblioteca)
      Quest'ultimo libro tratta però un programma molto più ampio di quello coperto dall'insegnamento. 

    DOCENTI E COMMISSIONI

    LEZIONI

    INIZIO LEZIONI

    In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica

    Orari delle lezioni

    L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

    ESAMI

    MODALITA' D'ESAME

    L'esame si compone di due parti

    1. prova scritta (con quiz di ammissione online)
    2. prova di laboratorio, alla quale si puo` accedere dopo aver superato lo scritto

    Dettagli sulle tipologie di prova e sul meccanismo di valutazione verranno forniti sul modulo aulaweb dell'insegnamento

    MODALITA' DI ACCERTAMENTO

    La prova di teoria permettera' di verificare l'avvenuta acquisizione di:

    • principi del pensiero computazionale e concetti fondamentali della programmazione imperativa con linguaggi di programmazione classici 
    • basi di programmazione imperativa e di utilizzo di ambiente testuale di sviluppo di programmi (realizzati in linguaggio  C++ limitato alla parte non object-oriented), con un editor di testi, compilazione ed esecuzione da linea di comando.

    La prova di laboratorio permetterà di verificare:

    • Acquisizione dei principi di progettazione, realizzazione e validazione di un programma sequenziale di piccole dimensioni partendo dalle specifiche informali fornite dall'utente. 
    • Capacità di produrre codice corretto e comprensibile; capacità di comprendere, utilizzare, modificare codice prodotto da altri

    Agenda 2030

    Agenda 2030
    Parità di genere
    Parità di genere
    Lavoro dignitoso e crescita economica
    Lavoro dignitoso e crescita economica
    Imprese, innovazione e infrastrutture
    Imprese, innovazione e infrastrutture