Un puzzle di programmazione include un obiettivo, un programma parzialmente completato e regole che delineano come il programma può essere modificato. Il programma è specificamente progettato per rendere difficile il raggiungimento dell'obiettivo. Una risposta a un puzzle di programmazione prende il programma e lo modifica solo nei modi specificati nelle regole, in modo da raggiungere l'obiettivo.