This position paper presents, we believe, a strong case for including in an undergraduate computer science (CS) program a required course in non-imperative programming. Such a course is motivated by the need to provide a uniform and adequate background for a course in artificial intelligence (AI). We make no claim about graduate AI courses. We survey the recommendations of the ACM-IEEE Joint Curriculum Task Force for an undergraduate course in AI and argue that some of the "dilemmas" of teaching introductory AI courses can be resolved by changes in the core CS curriculum. The argument for such a course is the focus of the paper; we also offer some ancillary remarks on other matters relating to teaching AI at the introductory level.