Our focus is on the theory and practice of programming. The first two years of the education are based on programming on Python and C and their underlying mathematical subjects such as logic, computational algebra and graph theory. Over the next two years, algorithms and data structures, object-oriented programming, operating systems, databases, computer networks, computer security, cryptography and machine intelligence teach students both the theory and practice of programming and prepare them for the profession.