Există o serie de cursuri diferite de programare a computerelor, unele foarte standard, iar altele destinate anumitor industrii. În general, majoritatea cursurilor de programare pe computere pot fi clasificate după limbajul predat, eventuala aplicare a cunoștințelor sau după sistemele specifice de nișă predate. Cursurile de limbaj de programare de bază predau doar o singură limbă în sesiuni din ce în ce mai aprofundate, de obicei clasificate în funcție de experiența necesară pentru acea clasă. Clasele care predau pentru o anumită aplicație sau industrie, cum ar fi sistemele de securitate sau de rețea, nu sunt de obicei pentru studenții introductivi și necesită o cantitate suficientă de cunoștințe nu doar despre programare, ci și despre informatica generală. Clasele de nișă pot fi direcționate spre predarea cum să scrieți programe pentru un singur tip de mașină, cum ar fi un mainframe, sau pentru o interfață de programare abstractă (API) specifică și, în general, necesită o pregătire solidă în informatică, deși nu neapărat programarea computerelor.
Cursurile generale de programare a calculatoarelor la un nivel de intrare se ocupă în mare măsură fie de conceptele generale ale programarii computerelor într-un mod neutru din punct de vedere al limbajului, fie se concentrează alternativ exclusiv pe predarea modului de programare într-un anumit limbaj. Aceste tipuri de cursuri sunt importante pentru a avea o bază solidă pe care să se construiască în domenii mai specifice de cunoștințe. Unele cursuri pot include mai multe limbi, cum ar fi HyperText Markup Language (HTML) și Hypertext Preprocessor (PHP), într-un singur plan de lecție dacă limbile sunt strâns legate în practică.
Există multe cursuri de programare pentru computere care predau o anumită utilizare a programării. Există mai multe dintre aceste tipuri de cursuri, majoritatea cu cerințe preliminare într-un limbaj de programare sau informatică. Astfel de cursuri sunt dezvoltate în mod constant pe măsură ce apar noi tehnologii. Exemple sunt programarea pentru rețele neuronale, grafică și imagini, sisteme în timp real și sisteme de securitate.
Cursurile de programare de computere de nișă urmăresc să instruiască studenții în modul de utilizare a unui singur sistem sau metodologie care ar putea să nu fie aplicabilă imediat la subiecte mai largi de programare. Aceste clase au aproape întotdeauna cerințe de limbă, deoarece sistemele țintă folosesc de obicei doar o singură limbă. Cu toate acestea, unele cursuri nu au cerințe de limbă, mai ales dacă sistemul de nișă folosește propriul limbaj proprietar. Aceste cursuri pot implica programarea pentru un tip de dispozitiv mobil, sisteme speciale de inginerie sau chiar sisteme de aviație.
Există, de asemenea, cursuri de programare pentru calculatoare care sunt unice în domeniul lor. Astfel de clase pot implica concepte teoretice, încercări de a dezvolta limbaje de programare care utilizează gramatica naturală sau chiar programare pe mașini experimentale. Aceste cursuri pot oferi informații valoroase asupra modului în care funcționează computerele și limbajele de programare, dar uneori nu oferă cunoștințe practice și rămân în schimb în domeniul programării teoretice.