Corso di laurea triennale in
 INFORMATICA

Laboratorio del corso di Programmazione

Insegnamento fondamentale del primo anno per il Corso di Laurea triennale in Informatica

Turno A

Corso di Laurea triennale in Informatica - Cognomi A - E

Anno accademico 2017/18

Docente: A. Morpurgo - Tutor: Andrea Ferrari


AVVISI

Accesso alle macchine del laboratorio di via Comelico

Per poter utilizzare le macchine del laboratorio SILab di via Comelico in cui si svolgono le lezioni di laboratorio è necessario registrarsi presso le due postazioni chiosco posizionate all'esterno del gabbiotto di vetro tra le aule Sigma e Tau con le proprie credenziali di Ateneo (nome.cognome@studenti.unimi.it e password).
Chi avesse problemi, passi in sala macchine con la tessera universitaria o altro documento che attesti l'iscrizione e chieda di Giuseppe Pignataro per farsi registrare da lui.

HowTo e strumenti

Strumenti per ricreare su un pc Windows un ambiene Linux analogo a quello del laboratorio:

Modalità d'esame


PROGRAMMA DEL CORSO

Obiettivi

Obiettivo del corso è avviare lo studente alla programmazione. Il linguaggio adottato è Java e il corso si svolge in laboratorio con l'utilizzo del JDK in ambiente GNU/Linux. Il corso si propone, attraverso lo sviluppo di semplici applicazioni basate sull'utilizzo e la combinazione di classi già esistenti e l'implementazione di classi e gerarchie di classi, di mettere gli studenti in grado di realizzare semplici applicazioni a partire da specifiche fornite.

Programma


MATERIALE DIDATTICO E BIBLIOGRAFIA

Libro di testo di riferimento

Software

Viene utilizzato Java Developer Kit (compilatore e macchina virtuale per Java), disponibile sul sito dedicato a Java della Sun.
In particolare, occorre scaricare:
  1. La versione 8 di JDK

    Argomenti trattati

    LEZIONE ARGOMENTI TRATTATI DOCUMENTAZIONE / ESERCIZI
    10.10.17
    1. Introduzione a GNU/Linux: file system e comandi di base. Esercizi.
    Presentazione del corso. Linux: il file system - struttura ad albero, root (/), indirizzi assoluti e relativi, home directory, directory corrente (.), directory ..; utenti e permessi (RWX); interfaccia a linea di comando (la shell bash - prompt e comandi essenziali).
    Esercizio sui comandi della shell (e file siti.txt per fare l'esercizio).
    Proposta di lavoro a casa: ripassare i comandi della bash visti a lezione (pwd, ls, mkdir, cd, touch, cp, mv, rm, rmdir, cat, lesse, man, chmod, sort, wc, grep, cut, tr, echo, wget, tee, |, >, >>).
    comandi bash di base
    alcuni comandi per elaborare file
    Greppin' in the GNU World Lab di Google Code University;
    soluzione esercizio
    17.10.17
    2. Avvio alla programmazione in Java.
    Struttura di un programma java. Stesura, compilazione, esecuzione. Errori in compilazione e in esecuzione. Lettura da standard input (con la classe Scanner) e scrittura su standard output (System.out.println()). Il tipo int e i 5 operatori aritmetici (+, -, *, /, %). La classe String e i metodi length, substring, indexOf e charAt.
    Proposte di lavoro: Distributore di monete e altri esercizi
     
    24.10.17
    3. I costrutti di selezione if e switch.
    Valori booleani; operatori di confronto (==, !=, >, >=, ...); operatori booleani (!, &&, ||); confronto di tipi riferimento (metodi equals e compareTo). Selezione: il costrutto if (if semplice, if ... else, if ... else if ..., if in cascata, if annidati); il costrutto switch.
    Proposte di lavoro: Esercizi proposti in classe. Altri esercizi
     
    31.10.17
    4. I costrutti di iterazione.
    I costrutti while, do-while, for. Analisi di codice (Es1, Es2, Es3). Controllo del numero di iterazioni (contatore, utente o sentinella). Problemi che richiedono cicli.
    Proposte di lavoro: Controllo del numero di iterazioni, esercizio fatto in classe, tipologie di problemi che richiedono cicli, esercizi sui cicli, altri esercizi sui cicli.
     
    7.11.17
    5. I metodi statici, la classe Math, le classi involucro.
    Definizione e invocazione di metodi statici; le classi involucro; la classe Math.
    Proposte di lavoro: Tipi di metodi e esercizi, altri esercizi sui metodi.
     
    14.11.17
    6. Array e ArrayList.
    Caratteristiche e uso di array e ArrayList
    Proposte di lavoro: Uso di array e ArrayList: esercizi, esercizi su array, esercizi vari di ripasso (anche per il compitino).
     

    Nota I file in formato PostScript possono essere visualizzati utilizzando i programmi Ghostscript, Ghostview e GSview, i file in formato PDF possono essere visualizzati utilizzando Acrobat Reader.

    ORARI

    Orario delle lezioni: Martedí h 13:30-17:30, primo semestre. Il corso prevede almeno 48 ore di lezione.
    Inizio lezioni: martedí 10.10.17
    Aula: laboratorio sigma, SILab, via Comelico 39
    Ricevimento:




    per appuntamento (email: morpurgo@di.unimi.it),
    ufficio S201, Dipartimento di Informatica (DI),
    via Comelico 39/41 - 20135 Milano
    NOTA Quando si scrive a un docente, usare l'indirizzo di posta di ateneo (della forma nome.cognome@studenti.unimi.it).
    Indicare sempre il proprio nome e cognome e l'insegnamento (Laboratorio di programmazione).

    A cura di A. Morpurgo. Ultimo aggiornamento: Ottobre 2017.

    Copyright © 2009. Morpurgo. DI, Università degli Studi di Milano.


    Hit Web Stats
    Fast Counters