Hva er de forskjellige typene kurs for dataprogrammering?
Det er en rekke forskjellige programmeringskurs for datamaskiner, noen veldig standard og andre målrettet mot visse bransjer. Generelt kan de fleste dataprogrammeringskurs klassifiseres etter språket som undervises, eventuell anvendelse av kunnskapen eller av de spesifikke nisjesystemer som blir undervist. Grunnleggende programmeringsspråkklasser lærer bare et enkelt språk i gradvis mer dyptgående økter, vanligvis kategorisert etter den nødvendige erfaringen for den klassen. Klasser som underviser i en bestemt applikasjon eller bransje, for eksempel sikkerhets- eller nettverkssystemer, er vanligvis ikke for introduksjonsstudenter og krever en god del kunnskap ikke bare om programmering, men også om generell informatikk. Nisjeklasser kan målrettes mot å lære hvordan man skriver programmer for en enkelt type maskin, for eksempel en hovedramme, eller for et spesifikt abstrakt programmeringsgrensesnitt (API), og krever generelt en sterk bakgrunn innen informatikk, men ikke nødvendigvis dataprogrammering.
Generelle dataprogrammeringskurs på inngangsnivå omhandler i stor grad enten de overordnede konseptene for dataprogrammering på en språknøytral måte, eller fokuserer vekselvis bare på å lære hvordan man programmerer på ett spesifikt språk. Disse typer kurs er viktige for å ha et solid grunnlag for å bygge inn i mer spesifikke kunnskapsområder. Noen kurs kan samle mer enn ett språk, for eksempel HyperText Markup Language (HTML) og Hypertext Preprocessor (PHP), i en enkelt leksjonsplan hvis språkene er tett bundet i praktisk bruk.
Det er mange dataprogrammeringskurs som lærer mot en spesifikk bruk av programmering. Flere av disse typene kurs finnes, de fleste med forutsetninger i et programmeringsspråk eller informatikk. Slike kurs utvikles kontinuerlig når nye teknologier dukker opp. Eksempler er programmering for nevrale nettverk, grafikk og avbildning, sanntidssystemer og sikkerhetssystemer.
Dataprogrammeringskurs for nisjer prøver å trene studenter i hvordan de bruker et enkelt system eller metodikk som kanskje ikke umiddelbart kan brukes på bredere programmeringsfag. Disse klassene har nesten alltid språkkrav, fordi målsystemene vanligvis bruker bare et enkelt språk. Noen kurs har imidlertid ikke språkkrav, spesielt hvis nisjesystemet bruker sitt eget proprietære språk. Disse kursene kan involvere programmering for en type mobil enhet, spesielle ingeniørsystemer eller til og med luftfartssystemer.
Det er også dataprogrammeringskurs som er unike i sitt felt. Slike klasser kan involvere teoretiske konsepter, forsøk på å utvikle programmeringsspråk som bruker naturlig grammatikk eller til og med programmering på eksperimentelle maskiner. Disse kursene kan gi verdifull innsikt i hvordan datamaskiner og programmeringsspråk fungerer, men de gir noen ganger ingen praktisk kunnskap og forblir i stedet for teoretisk programmering.