Programming Cognitive Computing