J277/02: Computational Thinking, algorithms and programming