The teaching methodology includes:
1. Lectures presenting the theoretical knowledge. Basic text books for both theory and problems will be also recommended, which will allow the students to complete and deepen the subjects, in which they are most interested.
2. Practice in computer labs, during which the students will develop and analyze programs using the theoretical concepts taught in lectures. The assignments are developed in groups, in order to promote the team work.
3. Problem solving both in paper and with the computer, targeting the self-evaluation.
4. Individual practical assignment in computer labs based on the assignments developed in groups.
5. Sharing the problems solutions and joined correction in order to develop the capacity of analyzing and communicating information relevant to problem solving. Additionally, this activity will promote the change of critical opinions between the professor and the students and among students.
6. Use of new e-learning technologies with a known platform (edX) where students will have the opportunity to reinforce their learning based on: Cross-evaluation, self-learning, and video formats to allow the students to gain more knowledge at any time they want.