I have two crazy suggestions. Go back in time!
1. Get a programmable calculator.
A programmable calculator is a regular calculator, you can do the usual stuff with it: enter numbers, enter operation signs, and after pressing the equel key, you can read the result on the tiny display. In addition, programmable calculator can store short sequences of keystrokes as a program, which later can be "replayed" with a single keypress. Say, you set this sequence as a program (one instruction per line):
(Start)
*
2
+
1
=
(Stop)
Now you have a custom operation: pressing the "program" key (or which one you've assigned to) it will run the sequence without your further assistance and will multiply the content of the display with 2 and will add 1 - this is a program!
Later you can try more enhanced techniques: storing temporary results to memory, branch on result.
Pros:
- A calculator is a familiar environment. You already have the basics.
- It's simple. You have not to learn lot of instructions and programming techniques.
- Modern programming languages are far from the ground, while programmable calculators "are on it". You will learn the fundamentals: memory, branch, elementary operations. Computers works very same (on the machine language level).
- You will meet low-level problems: memory, division by zero.
- It's extremly cool.
Cons:
- It's obsolete. You have to learn a modern programming language, which will be different.
- It's uncomfortable (hm, it's a pro instead: you can't use comfortable click-and-play toys). Maybe you can't even save your code.
- It's not a trivial task to get one. You can try on E-Bay. Also, there will be no problem with documentations, most modells have large user groups on the internet.
The best choice IMHO the TI-59.
2. Learn the BASIC language with the help of an emulator.
When you turn on a machine which have a built-in BASIC language interpreter, it's ready to accept your commands, and performs just as you type. First, you can try some instructions in command mode, e.g.:
PRINT 5*4
It will print "20" in the next line, wow. If you've played enough in command mode, you can organize the instructions into programs, then you can run, edit, enhance it.
Pros:
- BASIC is a real programming language, designed for education.
- When you later meet a modern programming language, and will discover the differences, you will see the progress of the programming techniques (e.g. procedural, structures etc.) of the last 30 years.
- It's cool, especially if you get a real one, not just an emulator.
Cons
- It's obsolete. Almost 30 years passed since that age.
- Old machines are compact, closed systems. There are no files (in the form today we use them), folders, file types, it may confuse beginners.
My favourite BASIC system is the Commodore 16 (Plus/4), which is very similar to the famous C64. but more comfortable. I prefer YAPE emulator, it can save/load memory snapshots or BASIC programs to file.