3 ms·
I help teach a "Computational Thinking" undergraduate course for non-CS majors. The topic at heart here is essentially Abstraction. Specifically "Data Abstracti
by acbart 11y ago
I help teach a "Computational Thinking" undergraduate course for non-CS majors. The topic at heart here is essentially Abstraction. Specifically "Data Abstraction", since there's more than one kind of abstraction in a bigger picture, but we don't try to tackle that nuance with our students.
We say that Abstracting an entity (the most vague word we've found, referring to people, places, things, events, and even other abstractions) causes you to lose details. That abstraction is contextualized to a stakeholder, since you have to have some criteria for deciding what details you keep and lose. An abstraction for a person would be different if it was for Facebook ("Name", "Age", "List of Friends") or for a doctor ("Name", "Age", "Sickness"). Abstraction is powerful because it lets us concretize real, vague things into something that a computer can understand and process ("Because computers are very stupid!").
I often discuss how an abstraction loses a lot of valuable data. One student was working with NFL games, representing them a set of properties like ("away team name", "home team name", "away team wins", "home team wins"). That representation ignores how many interceptions were made, the weather that day, the feelings that the crowd had, how much effort the players put into training - a lot of "humanist" data.
This article makes me wonder what goes through their minds. No one's complained about making these abstractions - they've never suggested we're ruining a game, a historical event, or whatever we're abstracting. But I think maybe we should encourage the students to think about what happens when you abstract something and what it means for the entity and not just the stakeholder.
- miriamkp 11y agoThat's really interesting and helpful — thanks. I've heard CS people talk about abstraction a lot, but hadn't realized they were using the term in the way you describe.
- acbart 11y agoI don't know how common my definition is among the CT community. Frustratingly, few researchers operationally define the term (cardinal sin in Education research!) and establish graded metrics based on it. I haven't met any other researchers who have resisted our definition, but there are other definitions. Repenning has one that is particularly... distinctive from my own: http://www.cs.colorado.edu/~ralex/papers/PDF/SIGCSE10-repenning.pdf http://www.cs.colorado.edu/~ralex/papers/PDF/SIGCSE10-repenn...