Basic algorithms and schreier sims ?

hi, where can I find a comprehensive exposition with explanations and examples, the kind of stuff that you can really learn from ?
I'm trying to implement this for solving the cube, it's a hobby project of mine.

I've noticed that another approach(if I use some basic algos like http://www.ryanheise.com/cube/beginner.html ) would be to pattern match the cube and "hardcode" all the cases of ryan heise and this would also yield a solution.

I'm a begginer with the cube, I almost solved it in reality and would like to write code to solve it.

(I have already set up an opengl simulation and the basic moves represented as permutations, but now I'm trying to write the solver).