Teaching programming to someone: do’s and don’ts