Esercizi
Questa pagina contiene una serie di risorse per esercitarsi con la programmazione in Python e C. Oltre agli esercizi proposti nei libri di testo consigliati
- L. M. Barone et al. "Programmazione Scientifica" 2a ed, Pearson editore.
- Kim. N. King, "Programmazione in C", 2a ed., Maggioli editore.
è possibile trovare ulteriori esercizi online, soprattutto in inglese.
In generale il miglior modo per escitarsi è quello di provare a risolvere un problema o creare un progetto personale, magari partendo da un problema di fisica.
Python
C
Algoritmi
Questa lista fa riferimento ad esercizi il obiettivo non è quello di esercitare la sintassi di un linguaggio specifico, ma di esercitare la capacità di risolvere problemi attraverso algoritmi.
- Project Euler: Project Euler è una piattaforma online che propone una serie di problemi matematici e di programmazione. Gli esercizi sono divisi in livelli di difficoltà crescente e coprono una vasta gamma di argomenti, tra cui teoria dei numeri, combinatoria, algebra, geometria e molto altro. È un'ottima risorsa per migliorare le proprie capacità di problem solving e di programmazione. Il sito fornisce la possibilità di risolvere i problemi in diversi linguaggi di programmazione, tra cui Python e C e di verificare la correttezza della soluzione proposta. Consigliamo di ordinare i problemi per numero di soluzioni, in modo da affrontare prima quelli più semplici.
- Advent of Code
Idee per progetti personali
Questi progetti sono più complessi e richiedono più tempo per essere risolti, ma sono un ottimo modo per mettere in pratica le proprie conoscienze di programmazione e gestione del codice. Le idee sono solo spunti, è possibile modificarle o crearne di nuove a piacimento, l'importante è che vi ispirino.
Se riuscite a portare a termine un progetto personale fatecelo sapere, saremo felici di darvi un feedback.
- Simulazione di un pendolo semplice
- Trovare il massimo ed il minimo di una funzione
- Implementare il Game of Life
- Implementare un Self-avoiding walk
- Implementare delle funzioni per algebra lineare (prodotto scalare, prodotto vettoriale, matrice inversa, determinante, autovettori, ...)
- Implementare un algoritmo di ordinamento (bubble sort, merge sort, quick sort, ...)
- Scrivere una funzione che effettui una regressione lineare (inclusa la stima degli errori sui parametri)
- Scrivere una funzione che calcoli l'errore di un valore a partire tramite propogazione degli errori