First of all, you must familiarise yourself with programming, TPT is coded in C++, which is a programming language, so if you want to write code and understand it, you must learn that programming language first. There isn't a tutorial on this website covering C++, but you can learn it elsewhere. You can either read a book, read online tutorials or watch YouTube videos if you prefer that. If you already know a different programming language, then learning C++ should be easy since programming languages tend to have similar things in common.
Compile TPT for the first time
After you have learned C++, try compiling the source code of TPT. The source code of TPT is hosted on GitHub, click here to see it. Compiling the source means turning all those files into an executable file you can run to play the game. You will do that a lot when you make your mod to test new features and fix bugs, so it's necessary to make sure you can do that in the first place. The wiki has many tutorials on how to compile for different operating system:
You don't have to read all of those pages, only the one that matches your operating system. The first two are for windows, @jacob1 recommended Visual Studio over SCons for me when I first started.
Familiarise yourself with the basic functions and variables
You will most likely use those a lot in coding, here are some wiki links covering those and also one with an element example:
All of those links don't cover everything you can do, so if you run into a problem, you can either google it if it's purely C++ related, make a thread about it in the Development Assistance forum category or ask on IRC in either #powder (has more people, but your question can easily be missed) or #powder-dev (has less people, but people who are willing to help will most likely see your question).
The best place to ask is on IRC, but don't expect people to reply in a few seconds, they might not be staring at screen, but they will see your question when they come back, just be patient. Also please use something like Pastebin to upload the pieces of code that probably cause the problem, any error message or anything that is too long to post, or else it might be considered as spam.
If that's too much
but you still want to modify the game, try making Lua scripts, it's much more easier, I started from there. I also made a wall of text covering that, you can check it out here.