First Programming Course in Engineering: Balancing Tradition and Application | AMiner