Existem v?rios cursos diferentes de programa??o de computadores, alguns muito padronizados e outros direcionados a determinados setores. Em geral, a maioria dos cursos de programa??o de computadores pode ser classificada pelo idioma que est? sendo ensinado, pela eventual aplica??o do conhecimento ou pelos sistemas de nicho espec?ficos que est?o sendo ensinados. As aulas b?sicas de linguagem de programa??o ensinam apenas um ?nico idioma em sess?es progressivamente mais aprofundadas, geralmente categorizadas pela experi?ncia necess?ria para essa aula. As aulas que est?o ministrando para um aplicativo ou setor espec?fico, como sistemas de seguran?a ou rede, geralmente n?o s?o para alunos iniciantes e exigem uma quantidade razo?vel de conhecimento n?o apenas sobre programa??o, mas tamb?m sobre ci?ncia da computa??o em geral. As classes de nicho podem ser direcionadas para o ensino de como escrever programas para um ?nico tipo de m?quina, como um mainframe ou uma API (API) espec?fica da programa??o abstrata, e geralmente exigem uma s?lida forma??o em ci?ncia da computa??o, embora n?o necessariamente programa??o de computadores.
Os cursos gerais de programa??o de computadores, no n?vel b?sico, lidam amplamente com os conceitos gerais de programa??o de computadores de maneira neutra ao idioma ou, alternativamente, se concentram apenas no ensino de como programar em um idioma espec?fico. Esses tipos de cursos s?o importantes para ter uma base s?lida sobre a qual incorporar ?reas de conhecimento mais espec?ficas. Alguns cursos podem agrupar mais de um idioma, como HyperText Markup Language (HTML) e Hypertext Preprocessor (PHP), em um ?nico plano de aula, se os idiomas estiverem fortemente vinculados no uso pr?tico.
Existem muitos cursos de programa??o de computadores que ensinam sobre um uso espec?fico da programa??o. Existem v?rios desses tipos de cursos, a maioria com pr?-requisitos em uma linguagem de programa??o ou ci?ncia da computa??o. Tais cursos est?o sendo desenvolvidos constantemente ? medida que novas tecnologias surgem. Exemplos s?o programa??o para redes neurais, gr?ficos e imagens, sistemas em tempo real e sistemas de seguran?a.
Os cursos de nicho de programa??o de computadores procuram treinar os alunos em como usar um ?nico sistema ou metodologia que pode n?o ser imediatamente aplic?vel a assuntos de programa??o mais amplos. Essas classes quase sempre t?m requisitos de idioma, porque os sistemas de destino geralmente empregam apenas um ?nico idioma. Alguns cursos n?o t?m requisitos de idioma, no entanto, especialmente se o sistema de nicho usa seu pr?prio idioma propriet?rio. Esses cursos podem envolver a programa??o de um tipo de dispositivo m?vel, sistemas de engenharia especiais ou mesmo sistemas de avia??o.
Existem tamb?m cursos de programa??o de computadores que s?o ?nicos em seu campo. Tais aulas podem envolver conceitos te?ricos, tentativas de desenvolver linguagens de programa??o que usam gram?tica natural ou mesmo programa??o em m?quinas experimentais. Esses cursos podem fornecer informa??es valiosas sobre como os computadores e as linguagens de programa??o funcionam, mas ?s vezes n?o fornecem nenhum conhecimento pr?tico e, em vez disso, permanecem no dom?nio da programa??o te?rica.