Introductory computer science is a tough subject to teach in colleges, because the students coming in have a vast range of different preparation. Even at top engineering schools like Harvey Mudd, some incoming students have never written a line of code, and others have been programming at a semi-professional level for years.<p>If you present people with highly abstract material that they haven’t seen the like of before, without developing the intrinsic motivation to study it, you can end up weeding out even very smart and capable students.<p>There’s no harm in taking some of those first-year college students who don’t a priori “find the science of computation self-evidently beneficial”, and showing them its benefits first-hand. Even the ones who go on to concentrate their studies in biochemistry or structural engineering or pure mathematics will surely benefit.<p>Project-based group work doesn’t have to be <i>easy</i>. Indeed, I suspect the new curriculum at Harvey Mudd is objectively harder than the standard curriculum at most schools.