Sunday, October 9, 2016

Bell - Brennan & Resnick and Wolz et al.

Wolz et al. are taking a different approach than most of what we’ve read so far. They’re not trying to define CT. I don’t think they even say what their definition of CT is in this paper, but they seem to imply that they draw on Wing’s views of CT. Instead, they’re trying to improve access to computing fields and improve the representation of women and people of color in the STEM pipeline. They approach that by “infusing” CT into language arts instruction. In that way, they’re a little bit like Weintrop et al. in that they’re looking at CT’s connections to other disciplines, but Wolz et al. are not trying to define CT or its practices through those connections, they’re just trying to expose more people to CT and computing in general. They say that they didn’t even have CT learning goals for their programs in this paper, but they’re trying to increase teachers’ and students’ enthusiasm for CT.

On the other hand, Brennan and Resnick are trying to work towards a definition of CT by categorizing some of its concepts, practices, and dispositions. This is kind of similar to Weintrop et al. in that they’re developing a framework of the practices and things involved in CT, but Weintrop et al.’s taxonomy specifically relates CT practices to practices in science and math, while Brennan and Resnick are naming practices (and concepts and dispositions) used by programmers (in Scratch). They’re starting to get at what people learn by programming (like programming to learn, the title of this course).


The assessment piece that Brennan and Resnick touch on (and that Wolz et al. mention they didn’t think about in terms of CT because the teachers didn’t have explicit CT learning goals) is an important gap in CT education research. What's good about what Brennan and Resnick did for assessments and how can we improve on their limitations? And what do we actually want kids to learn?

Sheikh - Computational Thinking is only for the math-type?


This week’s articles touched on quite a few recurrent concerns we have raised in our class discussions.

How to make programming ‘fun’ is amongst them. Wolz focuses on getting people, students and teachers alike, interested in computational thinking and programming, through not only infusing it into their K-12 non-math-type subjects,but also through building on their confidence level. Developing a ‘positive thinking’ towards computational thinking is a basic step forward. ‘Attitudinal change’ is the prerequisite.

In class we have discussed time and again, about the what computational thinking really is, and who are the people who are seen capable of computational thinking and why.  I loved the fact that Wolz and Pearson’s article challenges the common misunderstanding that computational thinking is only for the ‘math types’ and can only be used in the STEM disciplines. Only once  a teacher himself/herself is comfortable and confident about programming will he/she  be able to inspire the students towards the same. This would also positively affect the lack of teaching faculty interested in this discipline.

They show an example of it being used for interactive journalism - story building is something we even see in Brennan & Resnick’s article - This was of particular interest to me because of the ‘Into the Shadows’ scratch project we are working on with the kids. It is interesting that with respect to gender differences mentioned, the article says how girls get attracted towards writing stories, but we only have one girl, and the rest are all boys. Breaking through different stereotypes is definitely an important milestone that needs to be achieved to be able to use infusion vs. injection as a strategy.

In terms of differences from what we have previously read, Brennan & Resnick lay out a discussion on the assessment of computational thinking vs a definition that of what computational thinking is, as we see in Grover and Pea and Wing.

Wolz and Pearson do emphasize on involvement and the user perspective, slanting towards Kafai’s concept of computational participation, with social component being seen as the topics of interest in terms of civic engagement.




Huang - Computational thinking = programming?

A lot of the readings that we had done prior to this week pointed me to this idea that computational thinking had to be exclusive of computers. There had to be some way that computational thinking existed outside of programming. A lot of different authors argued for a lot of different definitions, which just confused me more. It was a lot of abstract talk about what computational thinking is and how it differs from critical thinking/problem-solving/higher-order thinking. However, the more that I think about the discussion we had in class, the more I wonder why we need to separate programming and computational thinking.

First of all, we already know that computational thinking occurs outside of computers. It occurs in the mind. Every programmer uses computational thinking when writing code. Every child who uses programs to write or drag/drop code is using computational thinking. Perhaps by calling it computational thinking rather than programming though, we open the door for more “non-science/math/computer” learners. We give it a more inclusive title that can be adapted for K-12 classrooms.


Indeed, Wolz describes the use of programming in an interactive journalism class. But from what I gather, the article essentially uses programmed animations to display some of the projects the students produce; she calls this computational thinking. So why can’t we just call computational thinking programming and all of the thoughts/mental algorithms that go into writing code? I don’t see anything wrong with incorporating programming into every student’s grade-school curriculum. It will help them 1) improve their “computational thinking” skills, 2) become more familiar with computers, not just in the interactive sense but in the design of programs and games, and 3) take away the programmer/non-programmer distinction. Every child can learn to program. The integration of programming into other disciplines will only help us achieve that goal. It will help each child become empowered in their own personal way, learning and designing things that they enjoy learning about.

Hutchins - Language and Literacy

At the beginning of the semester, watching the Resnick TedTalk was inspiring. It was easy to see the benefit of “computational thinking” and having one of the creators of arguably the most popular intro-to-programming software supporting the integration of computational thinking across learning disciplines motivated me to learn more about what this integration may look like and how I could use the tools needed to promote computational thinking – even in a computer science classroom.

To be honest, prior to opening the Brennan & Resnick article I was a little hesitant – perhaps my pessimism settled in. When I read, I first do a glance over at the overall structure of an article including major sections, topics that will be addressed, etc. The abundance of Scratch photos made me approach the article as an advertisement for Scratch. Queue the abstract: we have another three-part computational thinking framework, this time including computational concepts, computational practices, and computational perspectives (all three arguably relate to definitions and concepts previously discussed in class either in nature or by bridging concepts together).  

My thoughts changed. For me, an overview of what Brennan & Resnick saw as computational thinking concepts helped me clarify a few misconceptions I had about diSessa’s pillar of material and the “signs, symbols, depictions, or representations” included. While I originally saw it as a focus on specific symbolic languages, I now lean more towards the capabilities of languages: conditionals, operators, loops, even objects (if we are discussing object-oriented languages) thereby making the specific language used irrelevant – it is more about the understanding of when to use a loop and figuring out how the syntax of programming language you are using does just that. While Brennan and Resnick showed it through Scratch, I can see exact photos used for a variety of platforms. This also seemed to associate with the standards for computational thinking described by Grover and Pea.

It is also easy to compare diSessa’s second pillar (mental, cognition) to computational thinking practices. However, with the correlation and subsequent tools for assessing – I am still a supporter of the idea that a computer is not necessary for computational thinking, but perhaps it is necessary in the development of computational thinking skills. For instance, in our class discussions I recall this idea that we don't necessarily accomplish a real-life task by looping or modularizing in a way a computer would – and we definitely can’t do it as quickly as a computer can for large amounts of data. Moreover, I don’t see the infusion of computational thinking modules in the education system as a tool for creating a multitude of Spocks (yes, that is a Star Trek reference). However, I do think this method of thinking is of critical importance for students in real-life, no-computer-necessary situations. In the same way that I may reflect on what potential actions to take based on the emotional highway experienced through a Charlotte Bronte book in certain real-life situations (how do you truly care for a friend going through heartache?), I believe a confident skill level in computational thinking would naturally allow someone to reflect on a real life problem through conditionals, looping, debugging, etc.

Finally, in short, two big topics were introduced in our readings this week: assessment and teacher buy-in! The assessments described by Brennan and Resnick together create a great starting point and even related to ideas discussed by our class (primarily the portfolio concept). Each assessment seemingly allows for student empowerment – discussed in the beginning of the semester.


Wolz et al describe their work as “focusing on infusion, rather than injection.” In class we’ve discussed the possibility of creating enough buy-in to make computational thinking a core concept/subject and I believe their overall concept is an applicable start. They also discuss how their approach also allows for more equitable access: as a female computer science teacher and as a native of an island in which over 30% live under the poverty line and over 60% are on food stamps, this drew me in. While exact definitions of abilities that make a student a computational thinker may be slightly altered from the skillset described by Grover and Pea (and others) in order to fit this scenario (for instance, I would’ve liked to see a rubric for the Scratch presentation requirement – a student could simply copy code from other projects, but tweak the visuals), the overall context of training teachers to create buy in first is an applicable start.  

Doherty

In defining computational thinking it seems that the crux of the problem is whether or not the thinking must exist in context. Educators are grappling with this across disciplines especially because research shows that students have difficulty translating knowledge into new contexts. For instance, children who use math in their daily lives may not perform well on math assessments in school. This begs the question—will students who use computational elements such as loops, iteration and debugging in contexts other than programming be able to use them in a programing context?

Personally, I think this is the goal, but I’m not sure it helps elucidate the elements of teaching computational thinking. We keep skipping around computers in our class discussions, almost as if trying to define computational thinking without computers (used broadly to mean any computational machine). Thus children would learn computational thinking in their other classes, as suggested by Grover and Pea. Yet, I am very skeptical. I don’t think all students would then translate the knowledge into a computer context. Certainly some would transfer the knowledge, but the access seems limited.

Additionally, as DiSessa discusses, computational literacy appears when computers and the like integrate so well into our lives that we use them unconsciously. Therefore we cannot leave out the computer in discussing computational thinking if we want to gain computational literacy. Computers are unique in that at the base level they can take yes or no questions only. Thinking within that context varies greatly from thinking within a human brain. Or so it seems to us as we think.


So while the modes of thinking existed before computers and exist in other contexts I’m coming down on the side of needing computers to teaching computational thinking. Without integrating them into our thinking, we’ll never achieve the literacy put forth by DiSessa.

Eid Carol- Distinguishing Terms

I think there is an important distinction that we need to make between what diSessa is talking about and what other authors that we have read for were saying. While diSessa refers to “computational systems/media,” Wing and Grovers and Pea refer to “computational thinking” and Kafai (and others) refers to “computational practices.” I will utilize this diagram to illustrate how I think these three concepts are different (please click on the diagram to enlarge and view it clearly):




Computational media/systems could be thought of as one level higher than computational thinking. They are media through which computational thinking could be realized, and each medium has its affordances and constraints for learning about computational thinking as well as other topics (such as speed, vectors or any other concept). 
Computational thinking comprises the mental tools that are required to operate within computational media. When working with a computational medium, we need to be familiar with how to bend the medium to our will, and this requires computational thinking. It requires an understanding of what could be and could not be done with computers and, ideally, how things could be done in an efficient and productive way.
Computational practices has been utilized very differently by the authors we have read for. Kafai uses the term computational practices to illustrate how people learn or the way learning happens, and it is through social interaction. Therefore, she emphasizes learning-communities, shareable projects, and social processes such as reusing and remixing. Weintrop et al use this term to explicate how scientists and mathematicians are using computers and computation, so they discuss data collection, modeling, and other applications as well as what they call “problem solving practices,” which converge with what others call “computational thinking” (such as abstraction, debugging…). On the other hand, Brennan and Resnick use the term computational practices to refer to the elements of computational thinking (as defined by others) that could be better thought of as processes. For instance, while others dump abstraction, debugging, loops, sequences and other terms under the umbrella of “computational thinking,” Brennan and Resnick distinguish between elements of computational thinking that could be better thought of as static concepts (such as sequences, conditionals, operators), or what they call “computational concepts,” and elements that could be better described as processes (abstracting and modularizing, reusing and remixing etc…), or what they call “computational practices.”
Let me know your thoughts! 

Daily - Running, Guns, and Programming. Identity crises.


I hate running. I’m terrible at it. I have an awkward form that causes my knees and back to hurt after I do it for any considerable time. I wouldn’t say I have a “runner’s body” by any stretch of the imagination.  I’m also pretty slow, something that makes running suck for a person as overtly competitive as I am. Yesterday, I ran my first half marathon. I finished in the top third of all finishers at my race, and averaged 30-45 seconds per mile faster than my training paces. By all accounts, I did a pretty good job, and I certainly did better than all of the people who decided not to run 13.1 miles yesterday morning. So then why, considering the above, do I still struggle to identify myself as “a runner?”

The Army does a poor job of marksmanship training. When I was issued my service pistol, I sat through classes for hours learning the names of all of the component parts. Then I learned how to assemble and disassemble the weapon. Then I saw several illustrations on what a proper sight picture looks like and where my point of aim needed to be. When I finally took my pistol to the range, I had received all of the marksmanship instruction I was going to get.  I fired at my first targets at the full 40m range, just like I was supposed to. To say I hit a third of my shots would be very generous. For the shots that I missed, I had no way of knowing what errors I was making, so I couldn’t correct them. It was like I had been taught to swim by watching a very detailed DVD on swimming, and then I dove from a boat into the middle of a lake and had to swim my way to shore. Eventually, over many months and attempts, I became an expert marksman with my pistol, but not because my taught experience taught me what I need to know. When I taught my wife to shoot, I had her engage targets at 2m, then at 5m, then at 10m. She became familiar with the fundamentals of her shooting, and every bullet hit the target. We were able to correct her deficiencies while still building confidence that she was a “shooter.” Eventually, she was back at the 40m line shooting with me. The difference between her experience and mine is that she never identified herself as a failure- she hit the target most of the times she shot at it, so she kept trying to learn.  

I’m really zeroing in on an idea that ran through the last section of the diSessa reading. On page 64, diSessa says, “We need especially to remind ourselves that simple and easy uses…not just grand accomplishes, accumulate as part of intellectually revolutions such as new literacies.” If we discount all the miles of training runs I completed, and the race times of everyone except the few elite finishers of my half marathon yesterday, simply because they aren’t spectacular, we fail to recognize and capitalize on 2000-plus imposter “non-runners” supporting and growing the running culture. Us “imposters” may soon drop out due to the lack of community support, and the realization that they will never be an elite runner. Similarly, if we only concern ourselves with beautiful, aesthetic projects, and ignore and discard the simple, possibly flawed creations of beginning programmers, many newcomers who realize they will never create the next Facebook or Windows may decide to quit. By ignoring or discounting their contributions, we are doing an injustice- not just to those fledgling new programmers, but to the computing world altogether.