A key finding from learning research is that every student brings preconceptions about how the world works to every learning situation, and that these initial understandings need to be explicitly targeted as part of an effective instructional process. We are developing a suite of sophisticated software algorithms for personalizing instruction based on an analysis of what students understand about a particular topic. These algorithms use machine learning and natural language processing algorithms, coupled with graph analysis techniques, to automatically: (1) analyze student essays to assess current student understandings and misconceptions and (2) use these assessments to provide personalized recommendations of educational resources drawn from digital libraries. We have demonstrated the feasibility of this approach for one target age group and science topic: high school plate tectonics. These algorithms are designed to handle diverse collections of web-based learning materials and enable the integration of intelligent tutoring or adaptive learning interactions into a wide variety of web-based learning environments. We will present two complementary prototypes of adaptive learning environments designed around these personalization algorithms and preliminary results from a learning study that examines how this approach to personalization impacts student learning.