Teaching Programming To A Highly Motivated Beginner: The Difference between Anecdote and Data

January 18, 2013 at 1:40 am 5 comments

Phillip Guo has a piece in Blog@CACM on how he tutored a single adult to learn to program. He contrasts it with the MOOC approach of teaching thousands. There’s another important contrast–between anecdote and data.

Phillip’s story is interesting and compelling. He raises some key insights, like the value of motivation to drive someone to come to a new understanding. But some of his claims are just too broad, like the one he boldfaced below in his original, “I don’t think there is any better way to internalize knowledge than first spending hours upon hours growing emotionally distraught over such struggles and only then being helped by a mentor.”

Phillip could be right. (I don’t think that he is.) But to suggest that there isn’t a better way based on the study of one learner is over-generalizing. There is a research methods for produce case studies, which is the closest research method to what Phillip did. There’s only so much you can claim from a single case study, though.

Brian usually did 10-15 hours of programming on his own before each 1-2 hour Skype call with me, so he always had plenty of urgent questions and newly-written code that he wanted me to help him debug or improve. If I had just given him lectures without any context, he would not have internalized the lessons as thoroughly. He would have probably nodded his head and been like, “uh huh, ok that makes sense … cool. what’s next?” Instead, because he was usually struggling with concrete, code-related problems before our tutoring sessions — often to the point of frustration and discouragement — he would respond more like, “OHHH, WOW! Now I totally get it!”, whenever I guided him over some problem that seemed insurmountable to him at the time. His joy and relief were always unmistakable. I don’t think there is any better way to internalize knowledge than first spending hours upon hours growing emotionally distraught over such struggles and only then being helped by a mentor.

via Teaching Programming To A Highly Motivated Beginner | blog@CACM | Communications of the ACM.

Entry filed under: Uncategorized. Tags: , .

Meet Kyla McMullen: The 1st Black Woman to Graduate With a PhD In CS at U-Michigan First, Do No Harm: Inequality in American Education Will Not Be Solved Online

5 Comments Add your own

  • 1. Philip Guo  |  January 18, 2013 at 2:17 am

    Thanks for reading … I admit that I’m guilty as charged! I initially wrote that article last March right after finishing my nine-month tutoring spree (which was the only form of teaching I was doing at the time). The emphasized quote reflected my gut feelings at the moment, but of course I would never try to pass that off as a real research finding 🙂

    On a related note, I was reading about the role of cognitive conflict in learning in this dissertation (starting on p.20):

    Click to access Linxiao_Ma_Complete.pdf

    That concept reminded me of my above quote, but again, this is way outside my domain of expertise.

    • 2. Mark Guzdial  |  January 18, 2013 at 10:06 am

      I completely agree that students can learn from “cognitive conflict.” That might the best way of addressing issues of conceptual change. But that’s not the only kind of learning. Your highly motivated beginner was spending time creating a cognitive structure for the domain. That could be communicated via mechanisms like subgoal labels or with worked examples, in order to reduce cognitive load.

  • 3. Cecily  |  January 18, 2013 at 9:16 am

    Art Graesser’s group talks about flow and confusion, and there is some small degree of consensus in the affective computing community that true learning may happen best when students are moving between flow and confusion. My concern would be the notion that a student needs to spend more than a dozen hours in confusion before they get an hour of flow. I think Graesser’s group has a faster oscillation time between the two states with their subjects.

  • 4. Don Davis (@gnu_don)  |  January 21, 2013 at 11:06 am

    The article was basically qualitative research. The small numbers found in qualitative research often seem meaningless to those in STEM – however, qualitative research does have it’s place. There are, however, methods needed to boost a qualitative study’s validity (see for example Hays & Singh, 2012). Among these – it is important authors bracket their assumptions, epistemology, and other potentially pertinent characteristics of the researcher as a tool – as well as discussing participant characteristics. As pointed out – the learner in discussion was a highly motivated beginner with many characteristics potentially buoying his success – e.g. previous academic success, high levels of self efficacy, and a perception of the content as personally and culturally relevant (see Moll et al., 1992). This combined with a plethora of other background characteristics highlight that the findings may be more relevant when discussing other learners in other such situations. Such discussions are important because they provide impetus for further conversations – which are informed by other findings as well.

    Hays, D., & Singh, A. (2012). Qualitative inquiry in clinical and educational settings. New York, NY: The Guilford Press.
    Moll, C. L. C., Amanti, C., Neff, D., & Gonzalez, N. (1992). Funds of Knowledge for Teaching: Using a Qualitative Approach to Connect Homes Theory into Practice. In Qualitative Issues in Educational Research (pp. 132–141).

  • 5. Mark Miller  |  January 23, 2013 at 6:34 pm

    My own experience agrees with this idea that some time spent in frustration and confusion with a hard problem is part of a constructive learning process. Part of that in my experience is learning that not every theory I have is correct, and learning how I arrived at them, so I don’t repeat the process.

    A while back I had this “a-ha” moment with a problem in SICP and I wanted to share it with my blog readers. My first temptation was to talk about the process of solving the problem, and how I reached my correct solution, because I was so thrilled by it, but I stopped myself. I thought, “I don’t want to share the experience if that means that I *deny* my readers the same experience in themselves.” I wanted others to reach the same realization I did, and experience the surprise I had in finding it, because that for me was a significant part of the meaning of finding the solution. So what I did was talk rather vaguely about the profound experience of working on the problem and finding the solution. I gave some boundary conditions, like, “I tried this strategy, but that didn’t work.” I gave some hints about some strategies they could use in differentiating what they thought was a correct solution from one that would work. I described the solution a bit, again in general terms, just talking about what it’ll seem like when they see it, and I left it at that. I left some descriptions out on purpose, because I thought there were some important lessons learned while working on the problem, and the process of learning those lessons was an important part of the process of finding the solution. I wanted to preserve the experience as much as possible, while providing enough guidance to avoid some dead ends.

    I got a couple responses from students. One indicated to me that my strategy worked. They had the experience, and it so mirrored the surprise and excitement I had, I was thrilled again. I had accomplished my goal (at least with one student)! Another came to me and said they were frustrated, and just couldn’t get it. I felt some sympathy. The only answer I could think to give was, “Keep at it,” and to have some faith that they’ll eventually find it. I felt a bit helpless, and I wondered if there’s some knowledge I’m missing where I could’ve helped them a bit out of their rut.

    Talking some more about the SICP problem, something profoundly changed in my thinking by virtue of having that experience. It’s not just about finding the right answer. It’s realizing, “I can think differently than I do now, and I can work my way towards that.” For me what it represented was that I could use my brain in a different way; in a different process that I could use to change it. Realizing I can do that is thrilling, and I think sharing that with others is worth it, but really the best way to share it is to coax them into experiencing it themselves.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,185 other subscribers


Recent Posts

Blog Stats

  • 2,060,332 hits
January 2013

CS Teaching Tips

%d bloggers like this: