Integer Programming Models In Algorithm Design Computational Thinking