This course aims to produce a students that able to solve complex ICT problems using problem solving and programming techniques. The course will cover the problem solving steps and several programming techniques. The overall content of this course is fundamental knowledge in programming. In the solutions students should integrate the elements of efficiency and effectiveness.