Computer programming is the heart of computing education. It is a fundamental skill that all computing students are required to learn. However, programming courses are generally considered among the most difficult course and often have the highest dropout rates. The main concern is what concerns of computing faculty is to improve students’ motivation in getting involved in meaningful programming activities. This requires special skills to teach programming. A teacher training workshop was arranged at Directorate of Staff Development for newly inducted Computer Science teachers. The workshop covers various approaches proposed in literature for teaching computer programming. Some useful guidelines have also been suggested. These are the slides of this workshop.