I'm trying to help a computer literate 13 year old but with no programming knowledge to start learning how to write code.
What do you think is a good programming language to start with? I'm concerned that if there are no immediate "results" for him then he won't be motivated to learn more so I'm trying to come up with a project that would be ideal for him.
Either Python or Rails would be a good start, since (I believe) they are most widely-used languages/frameworks for web development, and there are a lot of really good introductions out there. I'd suggest either Codecademy or Treehouse, both of which I have used and have really accessible introductions to both languages.
Another option might be to start with Swift, which is the language used to create iPhone and iPad apps. It might be a bit 'cooler' to show someone an app you have made rather than a website you have built, which may help with motivation?
Projects:
Most tutorial sites come with in-built projects, as it's probably the best way to get your head round concepts. On Treehouse, for exmaple, after learning some basic Swift, your first 'project' is to build a one-page 'FunFacts' app, where you press a button and it cycles through ten 'fun facts'. Other sites will have you recreate Tinder, though that may be a bit inappropriate for a thirteen year old!
The reason I started with Rails was because of Michael Hartl's tutorial, which has you create Twitter from scratch. Looking back at it now, Twitter is actually a relatively straightforward app. At the time, however, I thought it was amazing that you could go from nothing to 'creating' Twitter in no time at all.
Disclaimer: This is all just my opinion based on having decided to learn some of this three years ago. There are no doubt plenty of 'proper' programmers here who might tell you something different!