This paper presents an ontology-based approach for automatic decomposition of learning objects (LOs) into reusable content units, and dynamic reassembly of such units into personalized learning content. To test our approach we developed TANGRAM, an integrated learning environment for the domain of Intelligent Information Systems. Relying on a number of ontologies, TANGRAM allows decomposition of LOs into smaller content units, which can be later assembled into new LOs personalized to the user's domain knowledge, preferences, and learning styles. The focus of the presentation is on the ontologies themselves, in the context of user modeling and personalization. Furthermore, the paper presents the algorithm we apply to dynamically assemble content units into personalized learning content. We also discuss our experiences with dynamic content generation and point out directions for future work.