The aim of the program is first to equip students with a firm base in fundamentals of engineering and computer science and then to prepare and orient them for topics such as computer architecture, microprocessors, operating systems, programming languages, algorithms, databases, software engineering and computer networks. During their studies, students find ample opportunities to develop experience in diverse programming languages and operating systems. After completing mandatory courses, the students enroll in specialized elective courses, which are followed by a senior project.