• Complementar a formação do aluno de graduação e pós-graduação de forma a torná-lo apto a elaborar programas de computadores de nível satisfatório para serem utilizados durante a sua pesquisa; • Ensinar conceitos de programação paralela formando alunos capazes de tirar proveitos das tecnologias disponíveis; • Introduzir conceitos de organização de código e programação orientada a objeto formando alunos capazes de produzirem códigos reutilizáveis; • Fornecer ao aluno os conceitos de ambiente de desenvolvimento colaborativo, manutenção de controle de versão e interfaces de desenvolvimento;