Home Insegnanti Contattami Portfolio
💻

Progetti

🔰 Introduzione

I progetti elencati qui sotto sono alla portata di tutti! Se non sapete fare qualcosa, è del tutto normale, li ho resi apposta così, altrimenti dove sarebbe il bello? 😉 L'obiettivo è anche quello di mettersi alla prova. Non abbiate paura di sbagliare; ricordatevi che il mondo del web è ricco di informazioni e tutorial su come fare qualsiasi cosa. Per ogni dubbio e/o perplessità potete sempre contare su di me 😀.

Le consegne dei vari progetti non devono essere seguite alla lettera. Sentitevi liberi di modificare, aggiungere e rivedere i punti elencati. Siate curiosi e cercate di divertirvi. Fateli anche in gruppo!

Ricordate che per un informatico avere dei progetti personali è fondamentale per fare curriculum per le aziende, oltre che servire a voi stessi per sperimentare, imparando ed avere una marcia in più degli altri! 🚀

Poiché sono elencati diversi tipi di linguaggi e progetti, potreste sentirvi un po' persi su cosa scegliere. In tal caso, non esitate a contattarmi su Discord: vi guiderò nella scelta più adatta a ciascuno di voi. 💯

La chat Discord dedicata al progetto è #🎎general. Preferirei che tutte le domande, sia generali che personali, venissero poste lì.

👨‍👨‍👦 Lavoro di gruppo

Se scegliete di lavorare in gruppo, è consigliabile utilizzare un sistema come Google Drive per condividere il progetto con tutti i componenti del team. Tuttavia, per il mondo della programmazione, è preferibile utilizzare GitHub. GitHub è un'applicazione gratuita che i programmatori usano sia come bacheca personale per i progetti, sia per organizzare il lavoro di squadra.

📊 Tabella dei progetti

Titolo ProgettoLinguaggioDifficoltà (1-5)Progetto TOPDescrizione SinteticaSuggerimenti Didattici
Analisi Dati MeteoPython🟢 2Analizza dati climatici da file, calcola medie, visualizza grafici.Ottimo per introdurre pandas, matplotlib, e GUI semplici.
Analisi Social Media (tweet/post)Python🟠 3Usa API per scaricare post e analizzarli (sentiment, parole chiave, frequenze).Introduzione alle API e al text mining con GUI interattiva.
Dama (Checkers)Python (pygame)🟠 3Gioco da tavolo con logica di movimento, catture e promozioni.Rafforza la logica, il disegno della GUI e la gestione degli eventi.
Gioco dell'OcaPython (pygame)🟢 2Simulazione di gioco da tavolo classico con dado e percorsi.Buon progetto introduttivo con struttura base.
RisikoPython (pygame)🔴 5Strategico con mappe, turni, truppe, battaglie e obiettivi.Richiede struttura dati complesse e gestione grafica avanzata.
Previsioni Finanziarie PersonaliPython🔴 5Inserisci spese, investimenti e ottieni 30 simulazioni patrimoniali con inflazione e rendimento stimato.Unisce matematica, statistica, modelli predittivi e visualizzazioni interattive.
Installer Automatico con ChocolateyC++ (o C#)🟢 2App che installa/rimuove software leggendo un file, integrando Chocolatey e il sistema.Ottimo per imparare automazione, scripting, gestione file e chiamate a processo.
Gestione Password con generatore sicuroJava / C#🟠 3Generatore e archivio sicuro di password con GUI, salvataggio criptato.Utile per esercitarsi su GUI, file JSON e crittografia base.
Gestione Finanze PersonaliJava / C#🟠 3CRUD di entrate/uscite con categorizzazione e statistiche mensili in grafico.

🟨 Python

ℹ️
Informazioni:

Descrizione

Questi progetti sono pensati per chi desidera sviluppare applicazioni di data analysis per la creazione di report, lo studio dei dati e la generazione di grafici, oppure per chi vuole divertirsi a sviluppare qualche gioco da tavolo con interfaccia grafica.

I progetti qui sotto elencati possono essere sviluppati come applicazione desktop oppure come applicazioni web.

N.B. I progetti elencati sono pensati anche per coloro che non hanno mai programmato in python.

Prerequisiti consigliati

  • conoscenza base della programmazione;

Topics

  • GUI (interfaccia grafica);
  • data analisys;
  • lettura e scrittura su file;
  • plotting in grafici dei dati;
  • strutture dati di base;
  • API;

🆘 Tutorials

💽 Applicazioni di analisi dei dati

Questi progetti forniranno una buona introduzione all'analisi dei dati e allo sviluppo di interfacce grafiche, oltre a essere divertenti e istruttivi.

1. Analisi dei Dati Meteo

Descrizione:
Scarica un dataset di dati meteorologici (ad esempio, temperature giornaliere, precipitazioni, umidità) e analizza i dati per trovare tendenze e modelli.

Componenti:

2. Analisi dei Dati sui Social Media

Descrizione:
Scaricare ed analizzare i dati relativi a tweet o post su un certo argomento per vedere tendenze, sentimenti e parole chiave.

Componenti:

Bonus opzionali (per versione avanzata): Tecnica AI → Natural Language Processing + sentiment analysis + clustering.

3. Simulatore di Previsioni Finanziarie Personali con Random Walk

Difficoltà: 🔴 5/5

Lingue consigliate: Python (per via di numpy, matplotlib, pandas, scipy, tkinter / streamlit)

Descrizione:

Questa applicazione simula l’evoluzione del patrimonio personale nel tempo (es. 10, 20, 30 anni), partendo da parametri come:

Obiettivo:

Usare un modello stocastico per generare 30+ scenari differenti di crescita/decrescita del patrimonio, basati su una random walk gaussiana:

Ogni anno/mese il capitale evolve in base a un rendimento simulato con distribuzione normale, centrato su una media attesa (es. 4% annuo) e una deviazione standard.

Questo approccio imita i rendimenti variabili reali del mercato, permettendo una simulazione più realistica del futuro.

Componenti:

Bonus opzionali (per versione avanzata):

Suggerimenti per la Realizzazione

🕹 Giochi da tavolo

1. Dama (Checkers)

Descrizione:
Un gioco da tavolo per due giocatori dove ogni giocatore cerca di catturare tutte le pedine dell'avversario muovendosi in diagonale.

Componenti:

Assets: https://dani-maccari.itch.io/pixel-checkers

Bonus opzionali (per versione avanzata): Tecnica AI Minimax, Monte Carlo Tree Search, Q-learning.

2. Gioco dell'Oca

Descrizione:
Un gioco da tavolo classico dove i giocatori avanzano su un percorso tirando un dado e devono affrontare varie sfide.

Componenti:

3. Risiko (Risk)

Descrizione:
Un gioco strategico dove i giocatori conquistano territori e cercano di controllare il mondo.

Componenti:

Bonus opzionali (per versione avanzata): Tecnica AI Minimax, Monte Carlo Tree Search, Q-learning.

🟩 Java / C#

ℹ️
Informazioni:

Descrizione

Questi progetti sono pensati per chi vuole sviluppare applicazioni usando linguaggi ad oggetti per la costruzione di applicazioni desktop o per chi vuole divertirsi a sviluppare qualche giochetto.

N.B. I progetti elencati sono pensati anche per coloro che non hanno mai programmato in Java o in C#.

Prerequisiti consigliati

  • conoscenza base della programmazione;
  • conoscenza della programmazione ad oggetti (classi)

Topics

  • GUI (interfaccia grafica);
  • lettura e scrittura su file CSV;
  • lettura e scrittura su file JSON;
  • strutture dati di base;
ℹ️
Per migliorare il design dell’interfaccia in Java, usare: FlatLaf

Tutorial: https://www.youtube.com/watch?v=Gxf4T-4Ix-w&ab_channel=RaVen

🆘 Tutorials

💽 Applicazioni

1. Gestore Password con generatore randomico

Descrizione: Un'applicazione per generare e gestire password randomiche.

2. Applicazione di Gestione delle Finanze Personali

Descrizione: Un'applicazione per monitorare le entrate e le spese personali.

🟨 C/C++

ℹ️
Informazioni:

Descrizione

Per chi vuole programmare in C / C++

Prerequisiti consigliati

  • conoscenza discreta della programmazione;

Topics

1. Installatore Automatico con Chocolatey

Descrizione:
Un’applicazione (con o senza GUI) che legge un file di testo (
software.txt) e installa automaticamente una lista di programmi usando Chocolatey.

Funzionalità principali:

Estensioni opzionali (avanzate ma non obbligatorie):

Obiettivi didattici:

🟦 Unity / Godot

ℹ️
Informazioni:

Descrizione

Per chi vuole provare a sviluppare un gioco come fanno i veri professionisti!

  • Unity ha una sintassi del codice tipica di c#;
  • Godot ha una sintassi del codice “simile” a python;

Non fatevi spaventare se non sapete nulla sulla modellazione 3D o se non sapete disegnare in 2D. Si può sempre usare qualcosa di gratuito dal web! 😉 Volendo ho già preparato un po di pixel art per chi ne vuole!🚀

N.B Per chi è interessato ad usare pixel art, consiglio il programma Piskel che è gratuito e molto valido. Per comodità consigio di fare pixel art 16x16 pixels.

N.B. Unity è un programma più pesante di godot che invece è molto leggero (gira bene su qualsiasi PC), quindi assicuratevi di avere un PC decente prima di scaricarlo.

Prerequisiti consigliati

  • buona conoscenza della programmazione;
  • conoscenza della programmazione object oriented;

Topics

  • animazioni di base
  • GUI
  • 2D / 3D
  • effetti particellari

🆘 Tutorials

🔗 Link utili

Videogioco

per questa categoria non sono previsti dei progetti da me proposti. Sentitevi liberi di sbizzarrirvi come meglio credete e lasciatevi trascinare dalla creatività! 🖼️

Consiglio: per semplicità vi suggerisco di fare un progetto in 2D.