A methodology (with software support) for curriculum design