Getting started with Program Synthesis
Start with the notes form Ras Bodik's course, Program Synthesis for everyone: http://www.cs.berkeley.edu/~bodik/cs294fa12

The slides from the recent summer school are also useful: https://excape.cis.upenn.edu/summer-school.html