A software architect engages in solving Software Engineering (SE) problems throughout his career. Thus inculcating problem solving skills should be one of the learning objectives of SE academic and training programs. But structured problem solving is usually latent or missing in most of the current curriculum. In this paper, we describe an effective learning environment for SE education and training with problem solving as an integral part. The learning environment is in accordance with Learning Sciences theory and practices. Our study strengthens our belief that such a problem based environment will help to create professionals well versed with theory and practice of software architecture and problem solving, and thus more productive and useful for the industry. Categories and Subject Descriptors K.3.2 [Computer and Information Science Education] General Terms: Design Keywords Software architecture, Software Engineering education, learning environment, problem solving, systems thinki...