Also your students' code is easier to understand (but not easier to check).
How inefficient is the loop?
1 Allocate a variable i, load constant 10, store to i.
2 Jump to 6
3 load variable i
4 call print
5 load variable i, decrement, store to i
6 load variable i, load constant 0, compare
7 jump if not greater to 3
I thought bad coding was what Marketing wanted. Bad code creates bugs which sets the customer up to buy the next version which promises to fix the bugs of the previous versions while adding hundreds of other bugs to be fixed in the next version. Has worked for Microsoft.