What programming language and book for a 13 yo student



Which the most easy programming language to learn first for a 13 year old student

It should be a good widely used language easy for a teenager and start to learn programming

Also suggest some good books to start with


Hi @Skyh3ck
In my opinion, a programming language is a tool to accomplish a task, and a properly formed logic will help in efficiently utilizing the tool. As such I would first try to teach logic and then progress towards algorithms and then you can introduce a programming language. As the student is 13 year old, I would suggest "for dummies" series of these books for easy understanding.

If the student is able to articulate his/her thoughts in a logical manner then you can start with C or Python it doesn’t matter. If the student finds it too difficult then you can start with HTML, it's syntax is easy to understand and follow. I would always refer to "for dummies" series books as they are well written and are easy to follow.



I would highly recommend Processing:
He will have a great learning experience without bothering alot about programming syntax(though you have to learn basic syntax)

Also check this YouTube channel for education content:


I would hands-down recommend Python as a great starting language for a teenager. It has a simple syntax which is almost English-like and no compile step - just write and run. The only thing that might trip them up would be pyenv setup, but that's not really a first step anyways. They should try using the online editors to start off so they don't need any local setup, for e.g. this one. Paper books are fine, but for learning programming its better to use online resources as they can read a little or watch a video and then immediately try the concepts and explore. Also, most paper books might not be kept upto date (for e.g. Python 2.x), but online resources are generally up to date. I highly recommend this book. It's a real gem and free to read online.


If he/she is a beginner, Scratch (https://scratch.mit.edu/) is a great place to start. While not a conventional (or a "widely used") language, it's a very hands-on approach to simpler programming concepts - a way of getting started with loops, conditionals, variables, simple function building and such.

It's probably meant for a still younger audience, but the almost instant gratification it provides could help get them hooked to coding and possibly serve as a stepping stone to things more conventional.


For a 13 year old I would recommend no programming languages at all , Instead it's better to start with mathematics and problem solving as that is the core to be a good developer or programmer.


For a 13 year old I would recommend no programming languages at all , Instead it's better to start with mathematics and problem solving as that is the core to be a good developer or programmer.

I beg to disagree. While this may hold true for someone pursuing a serious CS course or a career, the OP's likely intention is a gentle introduction to programming for a child.

Moreover, in my experience with having exposed 7~10 year old kids to Scratch and a bit of Python, I have seen them demonstrate a noticeable interest in mathematics (after, as compared to before). With something such as Scratch, which is more a learning aid, than a serious conventional programming language, it is so easy for them to build stuff almost immediately - like, their own adding machine, or even simple calculators. I feel this naturally piques their interest in mathematics and logic.

If they are truly hooked, this still leaves the kid with a choice to pursue CS or programming further and move on to greater things and along the way learn more advanced math and formal logic.

To sum up, I think math and programming complement each other quite nicely. One doesn't necessarily need to learn one before the other, unless you pursue a formal CS course.

Of course, basic arithmetic always helps. But you would expect a 13-year old to have some command over it already.
The easy programming language to learn first for beginners is scratch & other visual programming languages because their simplicity gets kids excited about coding! Visual programming languages can be used to make interactive stories, games, and animations., it provides the students be able to drag and drop code blocks to animate characters, create games, and build apps, and then the students can also start HTML and javascript, etc. For better knowledge of programming language for students, I would suggest you to take a look at this worthy article.