Posts tagged ‘contextualized computing education’

Context matters, not just my context

I had a really interesting conversation yesterday with Ron Eglash of RIT at the BPC Community Meeting.  Ron does wonderful work exploring the computing and mathematics in cultural practices, like the transformational geometry in how cornrows are woven, or the complex graphics algorithms in Native American bead weavings.  He mentioned that one of the surprising things he’s discovered is that the context matters a lot, but it doesn’t have to be their context.  As he’s been taking his design tools to places like Ghana and to peoples like the Inuit in Alaska, he finds that students often find most interesting the tools not from their own context.  He says that he shows them all his tools, then let’s them pick what they want to explore further, and they rarely pick their own culture’s practices.

I think that meshes with what we’re learning about contextualized computing education.  Not all the students in our IPRE CS1 want to become roboticists, but the students recognize that robotics is part of CS, so the robotics context brings meaning to what they’re doing.  Lana Yarosh found that 60-70% of the students in the Media Computation data structures class found  that the media context made the class more interesting and more motivating — even though the majority of the students were Industrial and Systems Engineers who were probably not going to be doing much media manipulation in their careers.

All these stories remind me of Viktor Frankl’s Man’s Search for Meaning not that I’m saying taking a computer science class is like surviving a concentration camp!  Piaget said that humans are sense-making: we try to make sense of situations. Frankl said that humans are meaning-making: we need to have a reason for doing.  Ron’s work and our contextualized computing education is about providing meaning, demonstrating the value of what’s being learned, and giving a reason for making the effort to make sense of the material.

Context matters.  I have to value the context, but it doesn’t have to be my context.

February 2, 2010 at 11:06 am 7 comments

Rethinking Science Education as Contextualized

She [Shirley M. Tilghman, President of Princeton] recited various statistics and called for the creation of more courses that engage science students in “big questions” early in their careers. Too many college students are introduced to science through survey courses that consist of facts “often taught as a laundry list and from a historical perspective without much effort to explain their relevance to modern problems.” Only science students with “the persistence of Sisyphus and the patience of Job” will reach the point where they can engage in the kind of science that excited them in the first place, she said.

via News: Rethinking Science Education – Inside Higher Ed.

YES!  This is what we’ve been arguing for the last eight years, since we started designing Media Computation, our Engineering CS1 in MATLAB, and IPRE’s CS1. It’s the basic idea behind Threads. We lose too many students in the first year, because we keep saying to them, “Just stick with it, and by your Junior and Senior year, this will all make sense and you’ll be doing relevant work!”  It’s nice to hear similar arguments being made for all of science education.

But I will say that I think President Tilghman draws too strong a contrast.  One of the lessons for me from the last eight years is that relevance is critical, but students still need to learn stuff.  They do need understand the history of what they’re learning.  We need to figure out what students really need to know, and not just include everything that we once studied.  Thus, that list of stuff to learn does have to be learned (but probably not everything on that laundry list) and a historical context is important, and still, I completely agree with President Tilghman, that the relevance to the big and important questions is the overarching context that needs to permeate our introductory classes.

January 6, 2010 at 12:57 pm 1 comment

How I think about the new AP CS effort

While my post on the new AP CS slideshow received few comments here, I’ve been getting a bunch of them via email and in-person.  Since I’ve given the same responses several times now, it’s probably worthwhile to put it here publicly for others to find (who probably have the same questions).  Let me make clear up-front that I do not speak for the College Board, NSF, or even the PI’s of the effort, Owen Astrachan and Amy Briggs.  I’m a member of the Commission that is building the “curriculum framework” (as the College Board calls it), and I’m giving you my impressions of what’s going on.

There is a serious but not insurmountable mismatch between NSF’s goals (and that of the larger computing education community) and the College Board’s goals.  Because of that mismatch, a lot of what people want to see in the new AP CS course doesn’t appear in the slideshow or in the “Big Ideas” and “Computing Practices” documents that have been assembled by the commission.  That’s because the College Board’s process has as its goal (1) a course that has similar content and learning objectives to existing college level courses and (2) an assessment that checks for those learning objectives.  (A whole lot of what the Commission has been working on the last few months is invisible right now, because we’re taking the Ideas and Practices documents and producing (essentially) specs for the assessment.)  The NSF’s goals are about creating a course that is rigorous but fun, inviting, and engaging.  That mismatch is why I am getting questions like:

  • “Where is the fun? Why doesn’t this class talk about computing being fun?”
  • “Where is the Web? Where are databases?  These are important application areas!”
  • “Where is Scratch? Where is Alice?  I thought that these courses would be taught with tools like those.”
  • “My College colleagues will never accept for credit a course that includes Big Idea/Practice X and leaves out Z!”

Here’s the biggest big idea about this course, and is the real challenge and hope of this mismatch: This course doesn’t exist! All that exists right now is this “framework” of Big Ideas (and supporting concepts, etc.) and Computational Thinking Practices (and claims and evidence, etc.) that describe what comes out of the course.  Therefore, making this course happen will be a stretch for everybody. The hope for this course lies in its potential.

It’s also the case that these documents are being assembled by a multi-layer committee (Commission of maybe 10, an Advisory Group triple that size), in a very short amount of time.  The last Commission meeting was pretty darn quiet most of the time, because we were just producing stuff as quickly as we could with small groups reviewing.  The result is  inherently a compromise, without a common, coherent voice, and barely even time for an editing pass.

To respond to some of these questions:

  • Where’s the fun?  It’ll get there, we hope.  But it’s not a Big Idea or a Practice, because it’s not a concept that is testable.  All the Big Ideas about “fun” disappeared when we started the effort of creating Claims and Evidence for the assessment part.  How do you assess if a student had fun in their APCS course?  “Did you have fun, on a scale from 1 to 5?”  And if they say that they didn’t, do you grade the student down, the teacher, the course, the Commission/Advisory group, the College Board, or NSF?  Fun will come from the course assembled around this framework.
  • Where’s the Web and databases?  As one of my colleagues once sniffed, “We don’t teach classes about the Web! We teach classes about concepts!”  The College Board process is about those concepts that Colleges and Universities care about.  This framework can be applied to a wide variety of contexts, including Web, databases, scientific computing, media, robots, and video games.  The plan is for FIVE (5) versions of this course to be created at College/University-level pilot sites in the Fall.  (I understand that over 80 schools offered to be pilot sites.  The invitation to be a pilot site has gone out to a smaller list of people. If you didn’t get one, sorry, but we can only have a limited number of pilots–and don’t ask me for an invite, I wasn’t involved there.) 
    These pilots are incredibly important!
    All that fun, fascinating, engaging, and inviting stuff has to come about from the curriculum that gets wrapped around the framework.  I want to see great fun, inviting, and engaging contexts, too.  That’s not going to come out of the College Board process — they’re about Ideas, Practices, and assessment. That’s their job.
  • Where’s Scratch and Alice?  Again, not part of the College Board process.  Now, I believe that the final course and assessment will have to specify languages and tools (the test can’t be wide open, but it can be more than one possible language/tool).  I suspect that the set of tools chosen will come out of the College level pilots in Fall 2010 and the High School/College level pilots in Fall 2011.  (Nope, don’t ask me for an invitation to the high school pilots, either — that’s a decision “above my pay grade.”)
  • That last question is completely unhelpful.  The course will be a stretch for everybody. Better form of the question, “Okay, I think I can convince my colleagues to do without Z, but it’ll be more palatable if we could teach X as X’.”  Now, we’re talking!

The other question is how we’re going to teach high school teachers to teach this.  Yeah, big issue, and it’s a topic for another blog post.

The point of my rant here is to see what we’re doing as trying to carve out a path to a class that only exists in potential, and since we’re doing this as an AP course, there are constraints on the process.  I think that there is a way to meet both the College Board’s and NSF’s goals.  When reviewing the AP CS curriculum framework, look for holes (“Everyone should know X”) and places that could prevent a great course from being created.  But mostly, imagine the great course(s) that can be erected around these girders.  That’s what’s being assembled in the next phase.

December 16, 2009 at 12:23 pm 1 comment

Developing general knowledge from contextualized CS1

Mike Hewner is a PhD student working with me who has spent much of this semester figuring out what he wants to do for his dissertation.  The time between passing the qualifying examination and proposing a topic is a creative and fun period, where you get to try out and explore a bunch of ideas.  He’s settled on one, but one that he didn’t pick was still pretty interesting.  He agreed that I could share it here.

Mike is interested in social identity theory. In terms we might care about, how does a student decide to affiliate with computer science, and to define himself or herself as a computer scientist?  One of factors that influences affiliation is choice.  If you choose a path, you are more likely to feel affiliation or belonging for that path.  Contextualized computing education (like Media Computation or IPRE’s robotics CS1) should support greater affiliation, as long as students can choose the kind of context that they want.  But your run into two problems: (1) How can you possibly offer enough choices, economically? (2) How do you make sure that students learn general, transferable knowledge, and not just “Joe Shmoe’s favorite topics in CS”?

Mike thought about building a variation of the Keller method.  The Keller method is a self-paced learning structure, where students study on their own, and then take a test with a human grader who decides when the student has reached mastery.  The research results on the Keller method are really impressive.  It has simply fallen out of favor, and to the best of my knowledge, was never used for computer science.

So Mike’s vision is to give students a huge amount of contextualized computing learning materials (robotics, and media, and engineering, and video games, and bioinformatics, and…), and support for them to pick a path through those materials that best match their interests and cover the topics we want in a CS1.  That’s the self-paced part.  Now comes the test part.

As a group of students finish a section (say, on arrays, or on iteration) each in their own context and language, the group of students meet with a facilitator (a professor or TA, like in problem-based learning).  They are given a task like, “Build a Powerpoint slide show that explains what arrays really are.”  The students now have to work together to explain this CS concept in general terms, that each learned in their own context and the language of that context.  Now you have the kid who learned MATLAB for Engineering talking about iteration to the kid who learned PHP for Web pages, and they have to figure out what’s the same in each language and context.  The idea is that each student learns what they want (to increase affiliation), but has to collaborate with those in different contexts in order to develop transferable knowledge.

Like I said, Mike isn’t going to do this — it’s pretty big (e.g., just assembling and possibly creating that mound of learning materials) and complicated to be a dissertation.  I did think it was an interesting example of how to balance student choice and the goal of learning knowledge that transfer beyond the context.

December 11, 2009 at 6:20 pm 1 comment

Engineering as a Context for Education

I admit up-front that I did not hold out much hope for the new report from the National Academies “Engineering in K12 Education: Understanding the Status and Improving the Prospects.” As a new, untenured assistant professor in educational technology at Georgia Tech, I did a lot of my early work in engineering education.  Engineering is the 800 pound gorilla on campus, and that’s where the greatest learning needs and opportunities were.

I tired of banging my head against the infrastructural challenges of Engineering education.  My collaborators in Engineering were warned against  working in education.  One was told by his chair that every publication in Journal of Engineering Education would count as a negative publication: “Not only was it a useless publication, but it was time wasted that could have been spent on a real publication.”  Graduate students in Engineering wouldn’t work with us because they feared that it would hurt their progress.  Senior faculty in education mocked reform efforts. One Civil Engineering professor I interviewed told me at length why undergraduates should never collaborate (“It prevents real learning”). When I pointed out that ABET accreditation guidelines required collaboration, he just smiled and said, “Yeah, that’s what they say. We know how to get around those rules.”

When I got tenure, I decided to focus just on computing education.  We have many of the same attitudes among our faculty, but I care more about our problems.  I’m willing to bang my head against the wall for longer.

Nowadays, I promote a strategy of using context to motivate and sustain engagement with computing education.  I’m pleased to see a similar idea in the new National Academies report:

How might engineering education improve learning in science and mathematics? In theory, if students are taught science and mathematics concepts and skills while solving engineering or engineering-like problems, they will be able to grasp these concepts and learn these skills more easily and retain them better, because the engineering design approach can provide real-world context to what are otherwise very abstract concepts.

I don’t agree that it’s the “design approach” that provides the real-world context, but I completely agree with the rest.  It’s like the approach that Owen Astrachan has been emphasizing — the power of the problem that students address. The engineers are saying that they own “real-world context” more than scientists and mathematicians, and I think they’re right.   Now I’m actually looking forward to reading the rest of the report.

September 16, 2009 at 10:45 am 4 comments

Newer Posts

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

Join 9,003 other followers


Recent Posts

Blog Stats

  • 1,875,123 hits
September 2021

CS Teaching Tips