Obstaja več različnih tečajev računalniškega programiranja, nekateri so zelo standardni, drugi pa so namenjeni določenim panogam. Na splošno je mogoče večino tečajev računalniškega programiranja razvrstiti glede na jezik, ki se poučuje, morebitno uporabo znanja ali posebne nišne sisteme, ki se poučujejo. Osnovni programski jezik poučuje samo en jezik v postopoma bolj poglobljenih sejah, običajno razvrščenih po zahtevanih izkušnjah za ta razred. Predavanja, ki poučujejo za določeno aplikacijo ali panogo, kot so varnostni ali omrežni sistemi, običajno niso za začetnike in zahtevajo precej znanja ne le o programiranju, ampak tudi o splošni računalniški znanosti. Nišni razredi so lahko usmerjeni v poučevanje pisanja programov za eno vrsto stroja, kot je glavni računalnik, ali za poseben vmesnik za abstraktno programiranje (API), in na splošno zahtevajo močno ozadje računalništva, čeprav ne nujno računalniškega programiranja.
Splošni tečaji računalniškega programiranja na začetni ravni se večinoma ukvarjajo bodisi s splošnimi koncepti računalniškega programiranja na jezikovno nevtralen način ali pa se izmenično osredotočajo zgolj na poučevanje programiranja v enem določenem jeziku. Te vrste tečajev so pomembne, da imajo trdne temelje, na katerih se lahko nadgradijo v bolj specifična področja znanja. Nekateri tečaji lahko združijo več kot en jezik, kot sta označevalni jezik hiperbesedila (HTML) in predprocesor hiperbesedila (PHP), v en sam načrt lekcije, če so jeziki tesno povezani v praktični uporabi.
Obstaja veliko tečajev računalniškega programiranja, ki učijo o specifični uporabi programiranja. Obstaja več teh vrst tečajev, večina s predpogoji za programski jezik ali računalništvo. Takšni tečaji se nenehno razvijajo, ko se pojavljajo nove tehnologije. Primeri so programiranje za nevronske mreže, grafiko in slikanje, sisteme v realnem času in varnostne sisteme.
Nišni tečaji računalniškega programiranja želijo usposobiti študente, kako uporabljati en sam sistem ali metodologijo, ki morda ni takoj uporabna za širše programske predmete. Ti razredi imajo skoraj vedno jezikovne zahteve, ker ciljni sistemi običajno uporabljajo samo en jezik. Nekateri tečaji pa nimajo jezikovnih zahtev, še posebej, če nišni sistem uporablja svoj lastni jezik. Ti tečaji lahko vključujejo programiranje za eno vrsto mobilne naprave, posebne inženirske sisteme ali celo letalske sisteme.
Obstajajo tudi tečaji računalniškega programiranja, ki so edinstveni na svojem področju. Takšni razredi lahko vključujejo teoretične koncepte, poskuse razvoja programskih jezikov, ki uporabljajo naravno slovnico ali celo programiranje na eksperimentalnih strojih. Ti tečaji lahko zagotovijo dragocen vpogled v delovanje računalnikov in programskih jezikov, vendar včasih ne nudijo praktičnega znanja in namesto tega ostanejo na področju teoretičnega programiranja.