Problem Solving using Computers (Spring 2018)