Introduction to Programming with Python


The aim of the course is to teach the fundamentals of computer programming assuming no background in algorithms, programming, or computer internals. A background in high-school-level mathematics and basic computing abilities are the only elements assumed. We start by interacting with the Python interpreter in order to solve simple tasks, like computing the result of a mathematical expression, or storing such results in memory.  Then we move to using and designing our own functions in Python to solve simple input-elaborate-output problems. We introduce conditional statements and iterative constructs to program more sophisticated control flow. Along with control flow statements, we introduce data types other than numerical (logical, text), and structures to store and access multiple data items (lists, files). Throughout the course, all concepts will be exemplified using the Turtlegraphics module, which brings to Python the ability of manipulate graphical objects with the simple and intuitive set of LOGO commands. Once students complete this course, they will be ready to take more advanced programming courses in Python, or to move to other languages (e.g., Java, C/C++) with an improved confidence.


Introduzione alla programmazione con Python

L’obiettivo del corso è quello di insegnare i fondamenti della programmazione dei calcolatori senza assumere alcuna conoscenza preliminare in algoritmica, programmazione o architettura dei calcolatori. Gli unici elementi di base dati per acquisiti sono alcuni concetti matematici a livello di scuola media superiore e una buona alfabetizzazione informatica. Il corso inizia interagendo con l’interprete Python per risolvere compiti semplici, quali calcolare il risultato di un’espressione aritmetica, o memorizzare tale risultato in memoria. Il corso prosegue utilizzando e progettando funzioni in Python per risolvere semplici problemi del tipo input-elaborazione-output. Vengono in seguito introdotte le istruzioni condizionali e i costrutti iterativi per programmare flussi di controllo più sofisticati.  Insieme alle istruzioni relative al flusso di controllo, vengono introdotti altri tipi di dato oltre a quello numerico (logico, testo) e strutture per (liste, file). Durante il corso, tutti i concetti vengono esemplificati utilizzando il modulo Turtlegraphics  che  consente di manipolare oggetti grafici tramite l’insieme dei comandi semplici e intuitivi del LOGO. Al termine del corso, gli studenti saranno pronti per seguire corsi più avanzati in Python, oppure per passare ad altri linguaggi di programmazione (ad es. Java, C/C++) con più facilità.

Al termine del corso gli studenti avranno acquisito le capacità fondamentali relative alla programmazione dei calcolatori. Sapranno risolvere semplici problemi, passando dall’insieme di istruzioni di base all’orchestrazione di un algoritmo. Essi saranno in grado di seguire corsi più avanzati di algoritmi, strutture dati, programmazione in Python o altri linguaggi.

Il corso non assume nessuna conoscenza pregressa, se non abilità informatiche di base e concetti matematici a livello di scuola media-superiore.

Il corso non prevede l’utilizzo di libri di testo. Durante il corso, verranno forniti link a materiale aggiuntivo disponibile gratuitamente in linea con cui gli studenti potranno approfondire alcuni degli argomenti trattati.

Il corso è strutturato in due parti, da due settimane ciascuna, per un totale di quattro settimane.  In ogni settimana sono previste 10 lezioni e un’esercitazione conclusiva che  ricomprende tutti gli argomenti trattati nelle lezioni della settimana. Al termine della prima e della seconda parte viene proposto un progetto (compito) da svolgere individualmente, le cui soluzioni sono  messe in linea sul sito del corso. Verifiche in linea sulla preparazione possono essere effettuate al termine della prima e della seconda parte. La certificazione della preparazione raggiunta relativa a tali verifiche può essere ottenuta nelle modalità previste dal consorzio Eduopen.

È richiesto il superamento di due prove di esame con un limite minimo del 70% di risposte corrette (per ogni prova).
Introduzione al corso

Lezioni

Introduzione al corso (6 min)
Introduzione, Variabili ed Uso della Memoria, Turtle Graphics, Funzioni e Procedure (Settimana 1)

Lezioni

1.1 Primi passi (7min)
1.2 primi passi 2 (8 min)
1.3 Variabili e memoria (8 min)
1.4 Variabili e memoria 2 (9 min)
1.5 Turtle Graphics introduzione 1 (8 min)
1.6 Turtle Graphics introduzione 2 (14 min)
1.7 Funzioni e procedure 1 (8 min)
1.8 Funzioni e procedure 2 (7 min)
1.9 Definizione di procedure (13 min)
1.10 Definizione di funzioni (10 min)
Esercitazione 1 prima parte (14 min)
Esercitazione 1 seconda parte (9 min)
Espressioni Testuali, Espressioni Logiche, Conversioni di Tipi di Dato, Costrutti Condizionali, Numeri Casuali (Settimana 2)

Lezioni

2.1 Espressioni testuali 1 (11 min)
2.2 Espressioni testuali 2 (12 min)
2.2 Espressioni testuali 2 seconda parte (6 min)
2.3 Progettazione di funzioni 1 (12 min)
2.4 Progettazione di funzioni 2 (9 min)
2.5 Espressioni logiche (12 min)
2.6 Conversioni tra tipi di dato (11 min)
2.7 Costrutti condizionali 1 (13 min)
2.8 Costrutti condizionali 2 (13 min)
2.9 Generazione di numeri casuali 1 - Prima parte (11 min)
2.9 Generazione di numeri casuali 1 - Seconda parte (11 min)
2.10 Generazione di numeri casuali 2 - Prima parte (9 min)
2.10 Generazione di numeri casuali 2 - Seconda parte (9 min)
Esercitazione 2.1 (10 min)
Esercitazione 2.2 (12 min)
Esercitazione 2.3 (13 min)
Prova intermedia (3 min)
Costrutti Iterativi, Operazioni su Testi, Oggetti, Liste (Settimana 3)

Lezioni

3.1 Costrutti iterativi 1 (12 min)
3.2 Costrutti iterativi 2 (12 min)
3.2 Costrutti iterativi 2 seconda parte (8 min)
3.2 Costrutti iterativi 2 terza parte (10 min)
3.3 Operazioni su testi 1 (15 min)
3.4 Operazioni su testi 2 (8 min)
3.5 Operazioni su testi 3 (12 min)
3.6 Operazioni su testi 4 prima parte (9 min)
3.6 Operazioni su testi 4 seconda parte (7 min)
3.7 Costrutti iterativi 3 (8 min)
3.8 Costrutti iterativi 4 (11 min)
3.9 Introduzione agli oggetti (14 min)
3.10 Gestione di liste 1 prima parte (14 min)
Esercitazione 3 (14 min)
Liste, Costrutti Iterativi, I/O su File (Settimana 4)

Lezioni

4.1 Gestione di liste 2 (10 min)
4.1 Gestione di liste 2 seconda parte (11 min)
4.2 Turtle graphics Funzioni avanzate - prima parte (14 min)
4.2 Turtle graphics Funzioni avanzate - seconda parte (14 min)
4.3 Costrutti iterativi 3 (8 min)
4.4 Costrutti iterativi 4 (8 min)
4.5 Gestione di liste 3 (13 min)
4.6 Gestione di liste 4 (12 min)
4.7 Costrutti iterativi 5 (8 min)
4.8 I/O su file 1 (13 min)
4.9 I/O su file (8 min)
4.10 I/O su file (16 min)
Esercitazione 4 (12 min)
Prova finale (2 min)

È richiesto il superamento di due prove di esame con un limite minimo del 70% di risposte corrette (per ogni prova).


Modalità Corso
Tutoraggio
Stato del corso
Archiviati
Durata
4 settimane
Impegno
15 ore/settimana
Categoria
Informatica, Gestione e Analisi Dati
Lingua
Italiano
Tipo
Online
Livello
Base
Avvio Iscrizioni
31 Lug 2016
Apertura Corso
1 Set 2016
Inizio Tutoraggio
1 Set 2016
Fine Tutoraggio
14 Ott 2016
In autoapprendimento da:
15 Ott 2016
Fine Iscrizioni
3 Gen 2017
Chiusura Corso
31 Gen 2017
Prossima Edizione
1 Mar 2017

Partecipazione e Attestati

Quota di iscrizione
GRATUITO!
Attestato di Partecipazione
GRATUITO!


Corsi collegati