Postoji niz različitih tečajeva računalnog programiranja, neki vrlo standardni, a drugi namijenjeni određenim industrijama. Općenito, većina tečajeva računalnog programiranja može se klasificirati prema jeziku koji se predaje, eventualnoj primjeni znanja ili prema specifičnim nišnim sustavima koji se poučavaju. Na satovima osnovnog programskog jezika podučava se samo jedan jezik u sve dubljim sesijama, obično kategoriziranim prema potrebnom iskustvu za taj razred. Nastava koja podučava prema određenoj aplikaciji ili industriji, kao što su sigurnosni ili mrežni sustavi, obično nisu za polaznike i zahtijevaju priličnu količinu znanja ne samo o programiranju, već i o općoj informatici. Niche satovi mogu biti usmjereni na podučavanje pisanja programa za jednu vrstu stroja, poput glavnog računala, ili za specifično apstraktno programsko sučelje (API), i općenito zahtijevaju jaku pozadinu u informatici, iako ne nužno računalno programiranje.
Opći tečajevi računalnog programiranja na početnoj razini uglavnom se bave ili sveobuhvatnim konceptima računalnog programiranja na jezično neutralan način ili se naizmjenično fokusiraju isključivo na podučavanje programiranja na jednom određenom jeziku. Ove vrste tečajeva važne su da imaju čvrste temelje na kojima se mogu graditi u specifičnijim područjima znanja. Neki tečajevi mogu povezivati više od jednog jezika, poput jezika za označavanje hiperteksta (HTML) i pretprocesora hiperteksta (PHP), u jedan plan lekcije ako su jezici čvrsto povezani u praktičnoj upotrebi.
Postoji mnogo tečajeva računalnog programiranja koji podučavaju specifičnoj upotrebi programiranja. Postoji nekoliko ovih vrsta tečajeva, većina s preduvjetima za programski jezik ili informatiku. Takvi se tečajevi neprestano razvijaju kako se pojavljuju nove tehnologije. Primjeri su programiranje za neuronske mreže, grafiku i slike, sustave u stvarnom vremenu i sigurnosne sustave.
Nicheski tečajevi računalnog programiranja nastoje osposobiti studente za korištenje jednog sustava ili metodologije koja možda nije odmah primjenjiva na šire predmete programiranja. Ovi razredi gotovo uvijek imaju jezične zahtjeve, jer ciljni sustavi obično koriste samo jedan jezik. Neki tečajevi, međutim, nemaju jezične zahtjeve, osobito ako niša sustav koristi svoj vlastiti jezik. Ovi tečajevi mogu uključivati programiranje za jednu vrstu mobilnog uređaja, posebne inženjerske sustave ili čak zrakoplovne sustave.
Postoje i tečajevi računalnog programiranja koji su jedinstveni u svom području. Takvi satovi mogu uključivati teorijske koncepte, pokušaje razvoja programskih jezika koji koriste prirodnu gramatiku ili čak programiranje na eksperimentalnim strojevima. Ovi tečajevi mogu pružiti vrijedne uvide u to kako rade računala i programski jezici, ali ponekad ne pružaju nikakvo praktično znanje i umjesto toga ostaju u području teoretskog programiranja.