Media

Oltre ai classici metodi per apprendere un linguaggio di programmazione, quali guide cartacee o in formato digitale, esistono altre forme come Tutorial o Lezioni Video o vere e proprie classi virtuali interattive.

Abbiamo raccolto alcune di queste risorse in questa pagina, ma se avete altri suggerimenti, potete contattarci ed integreremo quanto proposto.

Programmare in Python (italiano)

Autore: Michele Saba

Lo scopo del sito è insegnare la Programmazione Python a quante più persone possibile, tramite tutorial e Video Lezioni al passo coi tempi e in Italiano, organizzati per argomento in Video Corsi. A ciascun video sono affiancate in una pagina dedicata, la trascrizione della lezione e il codice scritto con commenti annessi, ai fini di facilitarne la comprensione. L'idea alla base è permettere anche ai non tecnici di avvicinarsi al mondo della programmazione, fornendo i mezzi e i concetti necessari a poter progredire in questo campo anche in maniera autonoma, facendo leva sulla versatilità di Python. Per questo motivo tra gli argomenti trattati nel sito si trova anche un'introduzione ai concetti di algoritmo, logica booleana e diagrammi di flusso. È inoltre presente una sezione del sito dedicata agli esercizi di programmazione con soluzioni annesse. Il sito è stato pensato per essere mobile-friendly e quindi tutto il materiale è accessibile comodamente anche da smartphone e tablet.

Come accennato, tutorial e video lezioni sono organizzati per argomento in Video Corsi. Al momento sono tre:

Corso Python base - Impara a Programmare con Python 3.6

Dedicato ai nuovi arrivati, cercando di non dare niente per scontato. Nel Corso Base si trattano:

  • Introduzione ed installazione di Python su Windows;
  • I principali tipi di dato in Python con annesse operazioni e metodi di conversione;
  • Algoritmi e diagrammi di flusso, logica booleana e istruzioni per il controllo del flusso;
  • Gestione delle errori;
  • Cicli while e for;
  • Funzioni, variabili globali e locali;
  • I moduli della Standard Library e quelli accessibili tramite pip;
  • Come gestire files, cartelle e il sistema operativo;
  • Come automatizzare l'invio di email, leggere file csv e comprimere/decomprimere file zip;
  • Come passare parametri agli script tramite riga di comando usando sys.argv.

Corso Python Intermedio

In cui si trattano concetti e moduli leggermente più avanzati rispetto al Corso Base. È ancora in fase di sviluppo e quindi il materiale presente viene spesso aggiornato con l'aggiunta di nuovi contenuti. Al momento sono presenti video lezioni riguardanti:

  • List Comprehensions;
  • L'istruzione with;
  • if __name__ == "__main__"
  • Il modulo subprocess, con stdout e stderr;
  • Il modulo socket, con creazione di client socket e server socket.

Mini Serie sulla Programmazione a Oggetti

In cui vengono introdotti, tramite la modellazione di una piccola "realtá scolastica", i concetti di:

  • Classe e Istanza;
  • Variabile di Classe e Variabile di Istanza;
  • Ereditarietà;
  • Metodi di Classe;
  • Metodi Statici.

Crea il tuo Blog con Django e Bootstrap

Il video corso mira alla costruzione di un sito web passo passo, nello specifico un blog, utilizzando il Web Framework Django, scritto interamente in Python, e Bootstrap.

Si tratta di una serie introduttiva all'utilizzo del Framework, articolata in 17 episodi in cui vengono analizzati gli aspetti fondamentali del caso. Si parte con un'introduzione al Web Framework e si termina con la messa online del blog sui server del provider Digital Ocean.

Udemy

La risorsa web propone un enorme numero di corsi, la maggior parte dei quali a pagamento, che spaziano in svariati ambiti, non solo la programmazione. Per quanto riguarda Python, sono più di 300 le risorse disponibili, in molte lingue anche se principalmente in inglese.

Tra i principali argomenti troviamo:

  • Machine Learning
  • Data Science
  • Deep Learning
  • Algorithms
  • Data Analysis
  • Hacking
  • Django
  • Flask
  • Pandas
  • OOP
  • API
  • Webservice

In lingua italiana troviamo tra gli altri Python 3.6 Guida Completa: da Principiante a Esperto che tratta i seguenti argomenti:

  • Comprendere l'architettura e la sintassi del linguaggio di programmazione Python 3.6.
  • Sviluppare applicazioni Python in modalità object-oriented (classi, ereditarietà, override)
  • Conoscere ed utilizzare i basic data types: interi, floating-point, boolean e string
  • Conoscere ed utilizzare gli operatori e le espressioni
  • Comprendere ed utilizzare le list comprehension, le dict comprehension e le set comprehension
  • Comprendere i namespace e lo scope
  • Comprendere e definire gli attributi di classe e di istanza, i class methods e gli static methods
  • Sviluppare applicazioni Python in modalità procedurale (funzioni, moduli, package)
  • Comprendere ed utilizzare gli "atomi" di Python: gli oggetti, i nomi, i tipi e gli attributi
  • Conoscere ed utilizzare le strutture dati: liste, tuple, dizionari e set
  • Conoscere ed utilizzare il control flow: if, while, for...in
  • Comprendere, utilizzare e definire le funzioni, e le espressioni lambda
  • Comprendere ed utilizzare i function decorator ed i class decorator
  • Progettare ed Implementare una Applicazione Distribuita con un Message Broker: RabbitMQ

Gli altri corsi in lingua italiana presenti:

  • Corso Completo di Data Science con Python
  • Programmazione: Python (Italiano - principanti)
  • Introduzione a Python per il data mining
  • Corso completo per sviluppatori web 2.0 (non tratta esclusivamente di Python)

Codecademy (inglese)

Sito web interattivo che permette l'apprendimento non solo di Python, ma anche di altri linguaggi. Tramite un grado di difficoltà sempre crescente, lo studente verrà accompagnato attraverso lo studio del linguaggio, passando anche da alcuni esami di verifica, fino alla realizzazione di un progetto finale.

  • Python Syntax
  • Strings and Console Output
  • Conditionals and Control Flow
  • Functions
  • Lists & Dictionaries
  • Student Becomes the Teacher
  • Lists and Functions
  • Loops
  • Exam Statistics
  • Advanced Topics in Python
  • Introduction to Classes
  • File Input and Output
  • PYTHON FINAL PROJECT

Programmare in Python 2 (italiano)

Autore: Marco Beri

Anche se si fa riferimento alla versione 2 del nostro linguaggio, questo corso è ben strutturato in vari livelli di apprendimento per garantire un facile accesso all'apprendimento di Python. Si affronteranno 8 lezioni (divise in 28 video) su come programmare in Python 2:

  • I tipi di dato
  • La sintassi
  • Le funzioni
  • La programmazione ad oggetti
  • Input ed Output
  • La standard library
  • Il debugging, l'introspezione e il profiling
  • Programmazione avanzata

Sololearn

Questa risorsa web, non esclusivamente dedicata a Python, permette ai propri studenti virtuali di apprendere alcune delle nozioni necessarie per l'apprendimento del linguaggio. Come prima cosa introdurrà un argomento specifico, per poi presentare delle domande inerenti a quanto spiegato con tanto di interazione per permettere una prova immediata delle nozione acquisite.

I macro argomenti trattati sono:

  • Basic Concepts
  • Control Structures
  • Functions & Modules
  • Exceptions & Files
  • More Types
  • Functional Programming
  • Object-Oriented Programming
  • Regular Expressions
  • Pythonicness & Packaging

Codeingame

Cercate un approccio diverso per imparare la programmazione di un linguaggio? Pensate che un approccio giocoso sia il miglior modo di imparare? Se le risposte a queste domande sono affermative, questo progetto fa al caso vostro. Si tratta di una risorsa che permette di scrivere codice per compiere interazioni specifiche e che avranno effetto su dei... videogames. Sembra più difficile di quello che in realtà è, provatelo e non ve ne pentirete.