Cognizant Interview Question

what is a stack? what is dynamic programming?