Computational thinking: a beginner's guide to problem-solving and programming