Be able to design, plan, organize and control systems that meet the specified requirements.
Properly handle the basic programming structures (functions, types of loops, conditional, etc.) to achieve efficient applications.
Manage properly the fundamental data structures (lists, vectors, registers, etc.) to achieve efficient applications.
Know the different programming paradigms to choose the most appropriate to the type of problem to solve.