Desenvolver as habilidades de desenvolvimento de software empregando técnicas de programação orientada a objetos e de programação funcional. Apresentar as bibliotecas de desenvolvimento de aplicações de alto nível. Discutir as questões de licenças de softwares e suas implicações habilitando o aluno a distinguir os diferentes tipos de licença. Desenvolver a habilidade de se trabalhar com os ecossistemas de desenvolvimento de software que empregam os conceitos mais modernos da área, como desenvolvimento colaborativo, testes, otimização, depuração, dependência e distribuição.