Engaging high school students in computer science via challenging applications

In this paper we describe a general framework for building short-courses designed to engage student while presenting a sub-field of computer science. We also describe two of these short-courses centered around computer graphics and physical simulations. We will discuss how even beginner students can participate in our short-courses; this is possible thanks to a careful choice of development environment, programming language and libraries that allow the students to focus on solving the problems and not thinking about low-level details.