9354598 Popyack We are developing a new approach for teaching 'introduction to computing' courses, tailored to the needs of students in different curricula. This approach is based on the following precepts: There is a strong need for students in all curricula to understand the concepts of programming a computer, particularly in the sciences and engineering fields. It may no longer be necessary for students in many majors to know how to write programs in traditional block-structured languages (such as Pascal). There is a wealth of software in wide use today which allows the user to write programs in specialized built-in 'macro languages'. Teaching programming concepts through the use of powerful, user-friendly software with programmable features allows the user to write programs immediately which produce non-trivial results. This provides stronger motivation to learn programming than traditional approaches. Moreover, the essential concepts of computer programming, (such as variables, branching, iteration, etc.) can be readily illustrated and implemented using the sophisticated features of a variety of commonly available software packages, such as word processors, spreadsheets, and databases. The main intention of our approach is to teach programming concepts and techniques, not simply how to use software. Students are exposed to the kinds of functionality common to all languages, thus facilitating the learning of a general purpose language or new, innovative software they will need for pursuing both their education and their careers in science, engineering, or teaching. ***y