Computer programming teaching is often based upon the traditional lecture format. However, this methodology may not be the best way to help many students actively understand underlying concepts. This paper formulates an alternative pedagogical approach that encompasses the van Hiele Model, cognitive model, and Bayesian network to design a web-based intelligent van Hiele Problem Solver (IVHPS). The system takes full advantage of Bayesian networks (BNs), which are a formal framework for uncertainty management to provide intelligent navigation support, and to make individualized diagnosis of student solutions in learning computer programming. In addition, we describe the architecture of the system and the roles of seven modules contained in the system. They are all integrated into the environment to increase student satisfaction and achievement by stimulating student motivation and encouraging the perception of problem solving and programming concepts.