This document describes a study that developed and tested a Flowchart-based Intelligent Tutoring System (FITS) to help novice programmers improve their problem-solving skills. FITS uses Bayesian networks to personalize instruction and guide students. It converts problem statements into flowcharts to help students visualize program structure. A study found FITS improved students' problem-solving abilities more than a control group, especially for those with lower prior knowledge. However, more research is still needed on problem-solving ITS and personalized learning environments for programming.