Environments for smart teaching and learning