The main purpose of this course is to introduce students to computer programming in a practical way. By the end of the course, students should be able to solve basic up to moderate difficulty engineering problems independently, by writing computer code from scratch. To achieve this goal, the course will be very applied, with lot of exercise during the course sessions and dedicated lab sessions.