• Edizioni di altri A.A.:
  • 2023/2024
  • 2024/2025
  • 2025/2026

  • Lingua Insegnamento:

    Italiano. 
  • Testi di riferimento:

    Cay S. Horstmann, Rance D. Necaise. Concetti di informatica e fondamenti di Python, 2° edizione. Apogeo Education 
  • Obiettivi formativi:

    Obiettivo del corso è insegnare i fondamenti della programmazione strutturata utilizzando Python come linguaggio di programmazione. Non è obiettivo del corso insegnare la programmazione ad oggetti, che sarà invece uno dei punti centrali del corso di Programmazione e Algoritmi 2.
    RISULTATI DI APPRENDIMENTO ATTESI
    CONOSCENZA E CAPACITÀ DI COMPRENSIONE
    Alla fine dell’insegnamento lo studente dovrà essere in grado di:

    illustrare il funzionamento di base di un calcolatore elettronico e il significato di algoritmo;
    illustrare il concetto di complessità computazionale asintotica di un algoritmo;
    illustrare i fondamenti della programmazione strutturata;
    illustrare le funzioni più importanti della libreria standard Python per la manipolazione di stringhe, i calcoli matematici, l'input e l'output;
    illustrare le caratteristiche e l'utilizzo delle principali strutture dati predefinite in Python: liste, insiemi e dizionari;
    esporre il funzionamento degli algoritmi di ricerca lineare e binaria e degli algoritmi di ordinamento più comuni.


    CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE
    Alla fine dell’insegnamento lo studente dovrà essere in grado di:

    determinare manualmente la traccia di esecuzione di un programma in Python;
    scrivere semplici programmi strutturati in Python;
    calcolare la complessità computazionale asintotica di un algoritmo.


    ABILITÀ DI COMUNICAZIONE
    Alla fine dell’insegnamento lo studente dovrà essere in grado di spiegare il funzionamento di programmi e algoritmi usando un linguaggio corretto e preciso.

    CAPACITÀ DI APPRENDERE
    Alla fine dell'insegnamento lo studente dovrà essere in grado di:

    iimparare in maniera autonoma ad utilizzare linguaggi di programmazione diversi da Python, purché basati sullo stesso paradigma (programmazione imperativa strutturata con tipizzazione dinamica), quali JavaScript, PHP, Ruby, etc...
     
  • Prerequisiti:

    Nessuno. 
  • Metodi didattici:

    Il corso si articola in 48 ore di lezioni frontali. 
  • Modalità di verifica dell'apprendimento:

    L'esame consiste in una prova scritta/pratica ed una prova orale. La prova scritta/pratica consiste in una serie di esercizi di programmazione, alcuni da svolgere al computer (ad esempio, scrivere un programma che risponda a determinate specifiche), altri su carta (ad esempio, scrivere la traccia di esecuzione di un programma dato). 
  • Sostenibilità:
     
  • Altre Informazioni:

    A questo insegnamento si accompagna quello denominato "Laboratorio di Programmazione 1", che completa la formazione con esercitazioni pratiche in laboratorio.Ulteriori informazioni sono disponibili sul sito web dell'insegnamento nella piattaforma di e-learning fad.unich.it. La stessa verrà anche utilizzata come forum per le comunicazioni con gli studenti. 


Introduzione alla programmazione. Introduzione a Python. Selezione. Iterazione definita. Iterazione indefinita. Funzioni. Liste, insiemi e dizionari. Gestione dei file. Ricorsione. Algoritmi di ordinamento e ricerca. Cenni di complessità computazionale.


Introduzione alla programmazione.

Hardware e software
Programmi e algoritmi
Linguaggi di programmazione, interpreti e compilatori


Introduzione a Python.

Il primo programma in Python
Variabili e tipi di dato numerici
Espressioni aritmetiche
Le stringhe
Input e output da terminale
Rappresentazione binaria dei dati


Istruzioni ed operatori condizionali.

L'enunciato if
Operatori relazionali
Diramazioni annidate
Alternative multiple
Operatori booleani.


Iterazione definita e indefinita.

L'enunciato for
L'enunciato while
Le istruzioni break e continue
Cicli annidati


Funzioni.

Realizzazione e collaudo di funzioni
Passaggio di parametri
Risultato delle funzioni
Ambito di visibilità delle variabili


Liste, insiemi e dizionari.

Liste
Algoritmi che operano sulle liste
Tabelle come liste di liste
Insiemi
Dizionari
Strutture complesse


Gestione dei file.

Leggere e scrivere file di testo
Gestione delle eccezioni


Ricorsione.

Funzioni ricorsive
La pila dei record di attivazione


Cenni al concetto di complessità computazionale.

Misurazione delle prestazioni di un algoritmo
Le notazioni O(n), Θ(n) e Ω(n)


Algoritmi di ordinamento e ricerca.

La ricerca lineare e binaria
Ordinamento per selezione
Ordinamento per fusione (merge sort)

Avvisi

Nessun avviso in evidenza

Documenti

Nessun documento in evidenza

Scopri cosa vuol dire essere dell'Ud'A

SEDE DI CHIETI
Via dei Vestini,31
Centralino 0871.3551

SEDE DI PESCARA
Viale Pindaro,42
Centralino 085.45371

email: info@unich.it
PEC: ateneo@pec.unich.it
Partita IVA 01335970693

icona Facebook   icona Twitter

icona Youtube   icona Instagram