Computational thinking in didactics: Principles, methods and tools