We propose to develop conceptual frameworks, system architectures, and domain-oriented knowledge-based design environments in support of learning on demand. Our approach will exploit the power of high-functionality computer systems in a project-oriented learning environment for under-graduate students (in computer science as well as in other related disciplines). We will place special emphasis on integrating working and learning and on supporting self- directed and group learning; we will study and evaluate these issues in a naturalistic setting.