Programming For Artificial Intelligence