Support of cooperative program development in programming exercises