When I was a kid I got my indroduction to programming on TI graphing calculators. They are unfortunately expensive (though pretty much every American school has boxes of them sitting around already) and lack the pinouts that Arduinos have (there is an IO port which isn't great, and USB which... is ok.) but they are otherwise fantastic for this purpose.
The TI-BASIC on them is dreadful slow so after you cut your teeth on it and learn the basics of just what programming is, you are encouraged to switch to assembly. In the case of most of those calculators that will be Zilog Z80, of early PC fame. On the higher end calculators you get Motorola M68k's, which you can also program in C fairly easily.
Plusses over Arduino are the keyboard and screen. Downsides include the lack of shields. Anyone who really gets into it is probably going to want to get an arduino anyway, unless they really lack an EE muscle.
I also learned on a TI-83 (handed down from my sister) and a TI-92 (from the boxes at school).
However, I much preferred my HP-50g, USER RPL was an absolute dream to program in, the USB interface was fantastic, an emulator was readily available, and you could even write applications in C and cross-compile them for the calculator.
That and RPN with a multi-line display and an [virtually] unlimited stack is the "one true way."
The TI-BASIC on them is dreadful slow so after you cut your teeth on it and learn the basics of just what programming is, you are encouraged to switch to assembly. In the case of most of those calculators that will be Zilog Z80, of early PC fame. On the higher end calculators you get Motorola M68k's, which you can also program in C fairly easily.
Plusses over Arduino are the keyboard and screen. Downsides include the lack of shields. Anyone who really gets into it is probably going to want to get an arduino anyway, unless they really lack an EE muscle.