Prelude to programming : problem solving and algorithms - Mitchell, William