This course presents the fundamental concepts of programming using one high level programming language like C++, Java, or Python. It covers the basic structures of the programming language such as variables; data types; control structures; arrays; functions; and introduction to records (struct) and object oriented programming (classes and objects). The course will focus on providing the students with practical programming skills through home works and exams which require writing whole programs. Also the course prepares the students to the global programming competitions.