Study of discrete mathematics concepts, especially discussing discrete dynamic systems, algorithms, combinatorics, and graph theory with emphasis on the complexity of algorithms, existence and optimization problems in graph theory and its algorithms. Lectures begin with an explanation of concepts and principles, assignments and discussions with students, as well as presentations using ICT with an assessment system including assignments (30%), participation (20%), mid-semester assessment (20%) and final semester assessment (30%).