Sei lá, pergunta meio vaga... creio que não existe um curso com foco para Linux, o que há por aí são cursos genéricos.
Você precisa aprender a programar, usando linguagens C, C++, Python, Java e etc. Faço engenharia elétrica e aprendi algumas dessas linguagens, mas aprendi em ambiente windows, o que não significa que eu não saiba fazer programas no Linux, é só mudar algumas bibliotecas e lembrar das variáveis de ambiente de cada SO (em C, o system("PAUSE") não funciona no Linux, pois PAUSE é variável de ambiente do windows). Creio que cursos como Ciências da Computação ou Engenharia da Computação te dê uma base boa para virar programador, ou ainda existe alguns cursos técnicos como o de informática. Mas muita coisa você aprende por meio de livros e apostilas, não precisa necessariamente de um curso.
Se você quer desenvolver aplicativos para o Ubuntu creio que seja viável aprender algo de Qt.