Este es el abstract
Teaching programming faces a host of challenges, due in particular to the unprecedented variety of student backgrounds and to the demands of the IT industry. Techniques that worked well in the seventies do not scale up to today's context. The "concepts or skills?" debate is more relevant than ever, especially in the ever more globalized world of software development.
For the past 6 years, we have taught introductory programming at ETH, based on an "outside-in" approach that makes it possible to introduce the reality of large software while emphasizing the principles of sound software development. This approach has resulted
in a forthcoming textbook ("Touch of Class: An Introduction to Programming Well
With Objects and Contracts", Springer-Verlag, May 2009). I will present the result of our experience, including metrics that we have systematically collected along the way, and draw conclusions regarding how to teach programming today. I will argue the task consists of
teaching twenty-six seminal concepts, and will explore one of them in depth.