Improving programming skills in engineering education through probl...