9455660 Naumann Computer programming is often taught primarily by example, and there is widespread interest in more systematic methods, especially mathematically rigorous "formal methods". There are now undergraduate level textbooks and teaching materials for beginning programming courses using the method called program derivation, whereby correct programs are derived from their specifications by calculation. The objective is to develop lecture notes and programming assignments for an undergraduate data structures course based on program derivation. The materials are based on those now being used in the classroom, and will be evaluated by educators at other universities for content and suitability for use in undergraduate courses in data structures. By meeting the need for instructional material based on the extensive research literature on program derivation, this project directly benefits educators who wish to teach scientifically based systematic methods of programming. By providing material on par with textbooks for the more traditional approach, this project helps to provide a basis for meaningful comparison between curricula based on formal methods and other curricula.