Accommodate a variety of different backgrounds. If the first course weeds out students who have little background in programming, then many talented students will be turned away, including a disproportionate percentage of women. If prior experience is assumed from entering students, then to remedy this loss there would need to be an institutional commitment. Offering a summer orientation course to introduce the necessary principles is one such example. Communicate the broad applicability of Computer Science to life and societal issues.
Medicine relies heavily on visualization.
Biology uses pattern matching. Encryption and privacy are essential for banking and e-commerce. Numerical and statistical computations form the basis for data analysis in science, engineering, and the social sciences. Choose projects that make applications clear and that draw upon the students' previous experience. Program a code-breaking algorithm.