I know nothing about modding or mapping so I can't help you with that one.
For programming, look at the tutorials section of this site, and also here:
http://www.quake-1.com/docs/quakesrc.org/
Also look at my "minimal fixed GLQuake" source code here:
http://www.quaketastic.com/upload/files ... GLQFIX.zip
This contains many fixes to GLQuake, with everything heavily commented explaining what was done and why it was done.
Also download and read the source code for other engines; you can learn a lot about the inner workings of Quake from that.
Programming Quake is a
huge topic, and it's not possible to give you a starting point. A lot depends on what you want to do, for example. Do you want to do graphics, sound, networking, gameplay, all of these, none of these? The best thing is to download as many engines and mods as possible, run them, study them and learn from them yourself.