If you are a novice there is a lot to learn, plenty enough to fill a 4 year study.
This paper has some nice information to get you started:
http://www.cs.man.ac.uk/~pjj/farrell/compmain.html[
^]
If you want to really understand most of it, at some point you will have to understand automatons. I personally found this video series on YouTube very helpful:
http://www.youtube.com/watch?v=GwsU2LPs85U[
^]
If after that you still want to learn more, you might consider taking a college course on the subject, but you can also use Google to find more research papers on the subjects.
Hope this helped :-)