Как и где в программировании используется математическая логика?
Математическая логика - повсеместно. Начиная от простых условий в if-else, заканчивая операциями с базами данных, потому что язык запросов SQL предполагает оперирование с множествами. Насчет дискретной математики, тут очень важная часть - теория графов, потому что практически все хорошие алгоритмы поиска (да и сортировки тоже) основаны на деревьях. Так же довольно таки неплохо иметь представление о теории автоматов, что тоже используется, например, в алгоритмах поиска.
графы точно могут пригодиться 
Учебник по дискретной математике