Learning with Machines