Esistono diversi corsi di programmazione informatica, alcuni molto standard e altri rivolti a determinati settori. In generale, la maggior parte dei corsi di programmazione informatica può essere classificata in base alla lingua insegnata, all’eventuale applicazione della conoscenza o ai sistemi di nicchia specifici insegnati. Le lezioni di base del linguaggio di programmazione insegnano solo una lingua in sessioni progressivamente più approfondite, generalmente classificate in base all’esperienza richiesta per quella classe. Le lezioni che insegnano verso una specifica applicazione o settore, come i sistemi di sicurezza o di rete, di solito non sono rivolte agli studenti introduttivi e richiedono una discreta quantità di conoscenze non solo sulla programmazione, ma anche sull’informatica generale. Le classi di nicchia possono essere mirate all’insegnamento di come scrivere programmi per un singolo tipo di macchina, come un mainframe, o per una specifica interfaccia di programmazione astratta (API), e in genere richiedono un forte background nell’informatica, sebbene non necessariamente la programmazione informatica.
I corsi generali di programmazione informatica ad un livello base affrontano in gran parte i concetti generali della programmazione informatica in modo neutrale dal punto di vista linguistico, oppure si concentrano alternativamente esclusivamente sull’insegnamento di come programmare in una lingua specifica. Questi tipi di corsi sono importanti per avere una solida base su cui costruire aree di conoscenza più specifiche. Alcuni corsi potrebbero raggruppare più di una lingua, come HyperText Markup Language (HTML) e Hypertext Preprocessor (PHP), in un unico piano di lezione se le lingue sono strettamente legate all’uso pratico.
Esistono molti corsi di programmazione informatica che insegnano verso un uso specifico della programmazione. Esistono molti di questi tipi di corsi, la maggior parte con prerequisiti in un linguaggio di programmazione o informatica. Tali corsi vengono costantemente sviluppati man mano che emergono nuove tecnologie. Esempi sono la programmazione di reti neurali, grafica e imaging, sistemi in tempo reale e sistemi di sicurezza.
Corsi di programmazione informatica di nicchia cercano di formare gli studenti su come utilizzare un singolo sistema o metodologia che potrebbe non essere immediatamente applicabile a più ampi argomenti di programmazione. Queste classi hanno quasi sempre requisiti linguistici, poiché i sistemi target di solito impiegano solo una lingua. Alcuni corsi non hanno requisiti linguistici, tuttavia, specialmente se il sistema di nicchia utilizza una propria lingua proprietaria. Questi corsi possono comprendere la programmazione di un tipo di dispositivo mobile, sistemi di ingegneria speciali o persino sistemi di aviazione.
Esistono anche corsi di programmazione informatica unici nel loro settore. Tali classi possono comprendere concetti teorici, tentativi di sviluppare linguaggi di programmazione che utilizzano la grammatica naturale o persino la programmazione su macchine sperimentali. Questi corsi possono fornire preziose informazioni su come funzionano i computer e i linguaggi di programmazione, ma a volte non forniscono alcuna conoscenza pratica e rimangono invece nel regno della programmazione teorica.