Cooperative problem solving with pattern blocks