TITLE: The Start of the Semester
AUTHOR: Eugene Wallingford
DATE: August 26, 2008 3:58 PM
DESC:
-----
BODY:
I taught my first session of Programming Languages today,
so the semester is officially underway. Right now, my
mind is a swirl of Scheme, closures, continuations,
MapReduce, and lazy evaluation. I've been teaching this
course for a dozen years based on functional programming
(a style new to our students at this point) and writing
interpreters in Scheme. This makes me very comfortable
with the material. Over the years I have watched ideas
work their way from the niche of PL courses into mainstream
languages. The resurgence of scripting languages has
been both a result of this change and a trigger. The
discussion of true closures in languages such as Ruby
and Java is one example.
This evolution is fun to watch, even if it moves haltingly
and perhaps slower than I'd prefer. In order to keep my
course current, I need to incorporate some of these changes
into my course. This time around, I find myself thinking
about what ideas beyond the "edge" of practical languages
I should highlight in my course. I'd like for my students
to learn about some of the coolest ideas that will be
appearing in their professional practice in the near
future. For some reason,
lazy evaluation
seems ripe for deeper consideration. Working it into
my class more significantly will be a project for me this
semester.
Delving headlong into a new semester's teaching makes
Jorge Cham's recent cartoon seem all the more true:
For faculty at a "teaching university", the numbers are
often skewed even further. Of course, I am an administrator
now, so I teach but one course a semester, not three.
Yet the feeling is the same, and the desire to spend more
time on real CS -- teaching and research -- is just as
strong. Maybe I can add a few hours to each day?
-----