This three-week short course extends the knowledge of teachers of undergraduate computer science in programming paradigms, from both a theoretical and hands-on perspective. The course contrasts the functional, object-oriented, and logic paradigms with the more familiar procedural. This material is essential to a well-rounded computer science program, and is not easily learned independently. The course is of particular value to small college computer science faculty who are challenged by the rapid change in the field. The schedule includes study prior to the course, intensive in-residence study, and supervised project work. Participants are encouraged to continue collaborative work after the program.