The subject will be taught in theory classes through master classes and practical exercises, and the practical classes through tutored classes. The master classes will be focused so that the student acquires the knowledge about programming necessary for his professional development. The practical classes will be developed so that, in a tutored way, the student acquires skills in the analysis, design, development, testing and documentation of programs.