Computational Thinking: algorithms and programs