If you had no background in coding, I wonder if learning to develop for a mobile device might be a bit much out of the gate. On top of all the fundamentals inherent in any modern language (and all of the theory that underlies all programming languages), you've got networking, a GUI, the cross-platform development cycle & tools, an entire OS API, etc that you have to learn.
In my day, learning even a language like C as your first wasn't that bad - you'd edit your text file, compile, run, it would crash, and you'd do that again, maybe 100 times a day, for a month or two before it started to make sense

By that time, your application maybe consisted of a source file AND a header file, and you'd figured out how to work the debugger. But this was all done at a console level, with simple command line tools, and simple gets() calls for input (we didn't worry about buffer overruns back then haha), and that meant it was easier to get your head around the actual job of code - to get work done, as opposed to managing a multi-touch GUI, fetching, parsing, and posting data to the web, etc.
I'm not saying it can't be done, I'm saying I don't know if it CAN be done - what say you mobile devs? Is any of the major mobile platforms a good place to begin to learn coding as the OP has suggested? Or would the better recommendation be to use a reasonably sane language (eg. not Python

) on a PC and begin to learn the fundamentals and theory of computer programming first before jumping into coding for a system like a mobile device?
I think either would be equally rewarding in the context of what the OP is looking for (a mental challenge/stimulation).
For the record, I rarely code anymore, other than when I'm bored and get the urge, or have a very specific requirement I can't find a third party util for, and even then, I mostly code in RealBasic on the Mac, which is just enough GUI and OO coding to keep me entertained without having to sweat the true complexity of a development system like XCode.