Yasmin, Deb meeting notes 2019-02-14
Yasmin, Deb meeting notes 2019-02-14 All three framings under one umbrella
They’re already there. And other subject areas are ahead. Let’s not enter behind.
What each of the framings highlights.
Computational thinking as part of literacies. Infrastructure!
Previously, it was necessary to try to build a computational culture.
Take down all the posters. For you, it’s already a literacy practice. Just let it be that for other people too! Maybe we were too dismissive of D&D, all the sci-fi posters on the wall, and the pizza crusts and mountain dew. Those were indeed culturally supportive, but for quite a narrow slice of culture.
So what we need for criticality is to navigate these cultures, to recognize the relationship between the digital media
// It doesn’t need to be threatening to the CS teachers (taking an optimistic view of the reader)
It’s not a question of whether to include ethics, or what percent of class time
Project headlight: Building a computing culture. Now it’s there, we just need to let it in (or go out to it).
—> One thing we could do rhetorically is to take canonical examples, and flip them.
It’s a call for developing tools participatory design connecting to culture Read to your kids every night. The hour of code! (How inadequate.) An activity structure. But how might we do this?
CS in K-12 is
Research agenda: Affordances -> rhethric ->
IT IS A CALL TO FUNDAMENTALLY TRANSFORM WHAT CS IS, YOUR ROLE IN IT, AND YOUR PRESUMPTION THAT YOU KNOW WHAT NEEDS TO BE TAUGHT.
But let’s not
The functional has been taken to be “the way it is.” There are several contestations of this: Situated Critical This has led to a fracturing
AMOS history of constructionism, To do now:
-
Literacy and literacies. (CP)
-
it changed pedagogy in E/LA
Look at Carol Lee.
On the role of infrastructure in computational thinking. I want to share a few analogies. People talk about computational thinking as thinking with the computer even when not necessarily programming. We need to make sure we’re not mistaking the invisibility of expert practice (reasoning computationally without a computer) as a prescription for pedagogy that computers are not needed for computer science.
I think the best way to think about computational thinking as navigating layers of abstraction. First analogy: Python has carved out a niche as a high-level language, functioning as an interface to more efficient lower-level implementations. The language natively defines the data structures ‘list’ and ’set’, without the programmer needing to worry about implementation details like memory management or the algorithms used to execute methods like adding a new member or checking whether an object is included. However, there are important differences between these data structures. For example, if you have a potentially-large collection of things (say, the ISBN numbers of books in your bookstore) and need to check whether a particular item is already included, the set will drastically outperform the list. Lookup time grows as fast as the size of the list (It is O(n)), while the lookup time for the set stays the same on average (It is O(1)) [CITE: https://wiki.python.org/moin/TimeComplexity]. In the same way, Python has finely-tuned libraries like NumPy and TensorFlow which direct lower-level code in doing highly efficient computation. In general, the python interpreter has gotten quite good at reasoning about code and running it in the most efficient way possible. A programmer writing in Python needs to be thinking in a lower level than she writes in. Python functions as a sort of shorthand for more fundamental meanings at a lower level of abstraction.
In the same way, we can be doing things in the world without a computer, but thinking about our actions in computational terms. Our real-world actions function as a sort of shorthand for the comptuation
Criticality has the same structure, learning that our realities are shaped by media and cultural forces, and thinking about public action in terms of how it will shape reality in addition to its surface meanings. For example,
see the world in terms of deeper meanings. An action like a hunger strike makes no sense in terms of daily life, and 100 years ago it might have seemed rose to political prominence in the early 20th century, along with the spread of mass media.
We could describe hunger strikes as “media thinking,” understanding one’s actions in terms of their mediatized significance.
Once we have a critical understanding of computational media—how the affordances of computation like communication,
—> So it’s a literacy supported by infrastructure.
What are the pedagogical consequences?
Python is a good language to start with (and indeed many now do), but it we want to teach people how to be powerful with Python, they need to be thinking at a lower level than they are writing.
=== MORE === What’s gained by integrating these? — dialogicity
What might this look like?