The course does not assume any prior programming experience. It is therefore suitable for freshmen students---majors and non-majors alike---who wish to explore the intellectual ideas of the discipline.
Prerequisites:The course assumes a basic familiarity with arithmetic and algebra. It does demands curiosity, self-discipline, and some amount of people skills, because all computer scientists end up working with others interactively all the time, including in this course.