Proper Treatment 正當作法/ blog/ posts/ Teaching models
標籤 Tags:
2008-08-17 19:19

In the coming semester, I get to teach “Computational Modeling” again. This new course is part of our interdisciplinary graduate training program in perceptual science. The aim of “Computational Modeling” and its quasi-prerequisite “Computational Thinking” is to get first-year graduate students in fields such as psychology, linguistics, anthropology, biomedical engineering, and philosophy and their peers in computer science to collaborate using computational tools, concepts, and ways of thinking.

The main point of the course is well put by Abelson and Sussman in their preface to SICP:

a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute.

Call me a computer scientist, but I think to really understand something is to be able to write a program to simulate it. My notion of programs is pretty broad, so this claim is not as outlandish as it might first seem, and maybe I’m just a funny mathematician. Nevertheless, the claim emphasizes the practical value of executable specifications: explanations that are formal enough to run yet grounded enough to share, concrete enough to see yet abstract enough to generalize, controlled enough to replicate yet flexible enough to change. You can’t be right if you can’t be wrong.

The goal of this class is for scientists to talk across disciplines. The premise is that computational models can help us talk. The theme of perception and cognition makes the models recursive.

Leaving the slogans aside, what am I actually going to teach? The relevant skills come down simply to reading, writing, and arithmetic, if in a generalized sense: they are to identify essences, separate components, deduce consequences, and communicate arguments. But how to teach these skills for executable specifications? For instance, how well do design recipes for algebraic data types apply to models of perception? I don’t know of a computer-science textbook that is tailored for cognitive science; please tell me if I should.

Here are some questions whose variants I hope will be asked.

Here are some examples whose like I hope will come up; I don’t have enough.

In the end, of course, the students themselves must originate the questions and the examples, the writings (for sure) and the readings (I hope). Each domain is a great opportunity for the collaborators themselves to develop a toolbox and a vocabulary, be it a set of of MATLAB scripts or program transformations. My job is to coordinate the activities and the space. To this community of learning, I bring executability and polymorphism. And apprehension.

[[Hat Guy is standing next to a large badge which says FUCK Computational Lingustics]] Hat Guy: And the dumbest thing about emo kids is that... I... You know, I'm sick of easy targets. Anyone can make fun of emo kids. You know who's had it too easy? Computational Linguists. "Ooh, look at me! My field is so ill-defined, I can subscribe to any of dozens of contradictory models and still be taken seriously!"