https://baoland.medium.com/cracking-the-code-understanding-a-pitfall-of-new-programming-students-ed2e01384804