The important thing is to realize how much programming has been wasted solving problems that can be easily expressed as logic programming and/or integer programming. If you need to solve logic and combinatorial based problems, learning these techniques will save you hundreds of hours.