Foundations of computing with an emphasis on design and implementation of algorithms that complement and support engineering and scientific problem solving.