Hallo!
Puh, das ist nicht so leicht, weil die Redewendung umgangssprachlich ist. Das Verb "programmieren" braucht nur eine Akkusativ-Ergänzung. Das heißt, dass du sagen kannst: "Ich programmiere eine Software oder ein Spiel oder die Hausaufgabe, etc..."
Wenn du eine Präposition nehmen möchtest, bietet sich nur - da liegst du richtig - eine lokale Präposition an (also mit der Frage "wo?"). Stellst du dir die Frage "Wo programmiere ich?", gibt es nur die Lösung "an", da du schwer im Computer sitzen kannst - und AUF wäre auch keine gute Idee.
Also, wenn du es so möchtest, dann programmierst du nur "AM Computer".
Liebe Grüße!