Intelligent tutoring and personalization are considered as the two most important factors in the research of learning systems and environments. An effective tool that can be used to improve problem-solving ability is an Intelligent Tutoring System which is capable of mimicking a human tutor's actions in implementing a one-to-one personalized and adaptive teaching. In this paper, a novel Flowchart-based Intelligent Tutoring System (FITS) is proposed benefiting from Bayesian networks for the process of decision making so as to aid students in problem-solving activities and learning computer programming. FITS not only takes full advantage of Bayesian networks, but also benefits from a multi-agent system using an automatic text-to-flowchart conversion approach for engaging novice programmers in flowchart development with the aim of improving their problem-solving skills. In the end, in order to investigate the efficacy of FITS in problem-solving ability acquisition, a quasi-experimental design was adopted by this research. According to the results, students in the FITS group experienced better improvement in their problem-solving abilities than those in the control group. Moreover, with regard to the improvement of a user's problem-solving ability, FITS has shown to be considerably effective for students with different levels of prior knowledge, especially for those with a lower level of prior knowledge.