Creativity Supporting Learning Environments: Two Case Studies on Teaching Programming