This course is intended to introduce students to the field of computing (basic computer organization, data representation, concepts, algorithmic thinking and problem solving), as well as give them intermediate level programming abilities in an object-oriented programming language