Posts tagged ‘constructionism’

What’s generally good for you vs what meets a need: Balancing explicit instruction vs problem/project-based learning in computer science classes

Lauren Margulieux has posted another of her exceptionally interesting journal article summaries (see post here). Her post summarizes recent article asking which is more effective: Direct instruction or learning through problem-solving-first (like in project-based learning or problem-based learning — or just about any introductory computer science course in any school anywhere)? Direct instruction won by a wide margin.

Lauren points out that there are lots of conditions when problem-solving-first might make sense. In more advanced classes where students have lots of expertise, we should use a different teaching strategy than what we use in introductory classes. When the subject matter isn’t cognitively complex (e.g., memorizing vocabulary words), there is advantages to having the students try to figure it out themselves first. Neither of these conditions are true for introductory computer science.

This is an on-going discussion in computing education. Felienne Hermans had a keynote at the 2019 RStudio Conference where she made an argument for explicit direct instruction (see link here). I made an argument for direct instruction in Blog@CACM last November (see post here). Back in 2017, I recommended balancing direct instruction and projects (see post here), because projects are clearly more motivating and authentic for computer science students, while the literature suggest that direct instruction leads to better learning — even of problem-solving skills.

Lately, I’ve been thinking about this question with a health metaphor. Let me try it here:

Everybody should exercise, right? Exercise provides a wide variety of benefits (listed in a fascinating blog post from Freakonomics from this June), including cardiovascular improvements, better aging, better sleep, and less stress. But if you have a heart problem, you’re going to get treatment for that, right? If you’re having high cholesterol, you should continue to exercise (or even increase it), but you might also be prescribed a statin.  If you have a specific need (like a vitamin deficiency), you address that need.

Students in computing should work on projects. It’s authentic, it’s motivating, and there are likely a wide range of benefits. But if you want to gain specific skills, e.g., you want to achieve learning objectives, teach those directly. Don’t just assign a big project and hope that they learn the right things there. If you want to see specific improvement in specific areas, teach those. So sure, assign projects — but in balance. Meet the students’ needs AND give them opportunities to practice project skills.

And when you teach explicitly: Always, ALWAYS, ALWAYS use active learning techniques like peer instruction. It’s simply unethical to lecture without active learning.

September 16, 2019 at 7:00 am 6 comments

An Ebook Integrating Minimal Manuals with Constructionism, Worked Examples, and Inquiry: MOHQ

Our computing education research group at Georgia Tech has been developing and evaluating ebooks for several years (see this post with discussion of some of them). We publish on them frequently, with a new paper just accepted to ICER 2016 in Melbourne. We use the Runestone Interactive platform which allows us to create ebooks with a lot of different kinds of learning activities — not just editing and running code (which I’ve been arguing for awhile is really important to support a range of abilities and motivations), but including editing and running code.

It’s a heavyweight platform. I have been thinking about alternative models of ebooks — maybe closer to e-pamphlets. Since I was working with GP (see previous post) and undergraduate David Tran was interested in working with me on a GP project, we built a prototype of a minimalist medium for learning CS. I call it a MOHQ: Minimal manual Organized around Hypertext Questions: http://home.cc.gatech.edu/gpblocks. (Suggestion: Use Firefox if you can for playing with browser GP. WAY faster for the JavaScript execution than either Chrome or Safari on my Mac.)

Minimal Manuals

John Carroll came up with the idea of minimal manuals back in the 1980’s (see the earliest paper I found on the idea). The goal is to help people to use complicated computing devices with the minimum of overhead. Each page of the manual starts with a task — something that a user would want to do. The goal is to put the instruction for how to achieve that task all on that one page.

The idea of minimalist instruction is described here: http://www.instructionaldesign.org/theories/minimalism.html.

The four principles of minimal instruction design are:

  1. Allow learners to start immediately on meaningful tasks.
  2. Minimize the amount of reading and other passive forms of training by allowing users to fill in the gaps themselves
  3. Include error recognition and recovery activities in the instruction
  4. Make all learning activities self-contained and independent of sequence.

There’s good evidence that minimal manuals really do work (see http://doc.utwente.nl/26430/1/Lazonder93minimal.pdf). Learners become more productive more quickly with minimal manuals, with surprisingly high scores on transfer and retention. A nice attribute of minimal manuals is that they’re geared toward success. They likely increase self-efficacy, a significant problem in CS education.

The goal of most minimal instruction is to be able to do something. What about learning conceptual knowledge?

Adding Learning Theory: Inquiry, Worked Examples, and Constructionism

I started exploring minimal manuals as a model for designing CS educational media after a challenge from Alan Kay. Alan asked me to think about how we would teach people to be autodidacts. One of the approaches used to encourage autodidactism is inquiry-based learning. Could we structure a minimal manual around questions that they might have or that we want students to ask themselves?

We structure our Runestone ebooks around an Examples+Practice framework. We provide a worked example (typically executable code, but sometimes a program visualization), and then ask (practice) questions about that example. We provide one or two practice exercises for every example. Based on Lauren Margeliux’s work, the point of the practice is to get students to think about the example, to engage with it, and to explain it to themselves. It’s less important that they do the questions — I want the students to read the questions and think about them, and Lauren’s work suggests that even the feedback may not be all that important.

Finally, one of the aspects that I like about Runestone is that every example in an active code area is a complete Python interpreter. Modify the code anyway you want. Erase all of it and build something new if you want. It’s constructionist. We want students to construct with the examples and go beyond them.

MOHQ: Minimal Manual Organized around Hypertext Questions

The prototype MOHQ that David Tran and I built (http://home.cc.gatech.edu/gpblocks) is an implementation of this integration of minimal manuals with constructionism, inquiry, and worked examples. Each page in the MOHQ:

  • Starts with a question that a student might be wondering about.
  • Offers a worked example in a video.
  • Offer the opportunity to construct with the example project.
  • Asks one or two practice questions, to prompt thinking about the project.

Using the minimal design principles to structure the explanation:

  1. Allow learners to start immediately on meaningful tasks.

The top page offers several questions that I hope are interesting to a student. Every page offers a project that aims to answer that question. GP is a good choice here because it’s blocks-based (low cognitive load) and I can do MediaComp in it (which is what I wanted to teach in this prototype).

#1: Minimize the amount of reading and other passive forms of training by allowing users to fill in the gaps themselves.

Each page has a video of David or me solving the problem in GP. Immediately afterward is a link to jump directly into the GP project exactly where the video ended. Undo something, redo something, start over and build something else. The point is to watch a video (where we try to explain what we’re doing, but we’re certainly not filling in all the gaps), then figure out how it works on your own.

Then we offer a couple of practice questions to challenge the learner: Did you really understand what was going on here?

#2: Include error recognition and recovery activities in the instruction.

Error recovery is easy when everything is in the browser — just hit the back button. You can’t save. You can’t damage anything. (We tell people this explicitly on every page.)

#3: Make all learning activities self-contained and independent of sequence.

This is the tough one. I want people to actually learn something in a MOHQ, that pixels have red, green, and blue components, and chromakey is about replacing one color with a background image, and that removing every other sample increases the frequency of a sound — and more general ideas, e.g., that elements in a collection can be referenced by index number.

So, all the driving questions from the home page start with, “Okay, you can just dive in here, but you might want to first go check out these other pages.” You don’t have to, but if you want to understand better what’s going on here, you might want to start with simpler questions.

We also want students to go on — to ask themselves new questions, to go try other projects. After each project, we offer some new questions that we hope that students might ask themselves. The links are explicitly prompts. “You might be thinking about these questions. Even if you weren’t, you might want to. Let’s see where we can explore next.”

Current Prototype and What Comes Next

Here’s the map of pages that we have out there right now. We built it in a Wiki which facilitated creating the network of pages that we want. This isn’t a linear book.

Full-MOHQ-Map

There’s maybe a dozen pages out there, but even with that relatively small size, it took most of a semester to pull these together. Producing the videos and building these pages by hand (even in a Wiki) was a lot of work. The tough part was every time we changed our minds about something — and had to go back through all of the previously built pages and update them. Since this is a prototype (i.e., we didn’t know what we wanted when we started), that happened quite often. If we were going to add more to the GP MOHQ, I’d want to use a tool for generating pages from a database as we did with STABLE, the Smalltalk Apprenticeship-Based Learning Environment.

I would appreciate your thoughts about MOHQ. Call this an expert review of the idea.

  • Thumbs-up or down? Worth developing further, or a bad direction?
  • What do you think is promising about this idea?
  • What would we need to change to make it more effective for student learning?

June 15, 2016 at 7:35 am 12 comments

CS Education Research at Tufts: Keynote by Ben Shapiro

I recommend this talk by Ben Shapiro.  He does a great job framing his work in computing education research, and shows some terrific examples of his latest work.  I like how his work fits so well into both computing and education — he’s using education theory to help students learn important ideas in CS from distributed systems and parallelism (like latency and synchronization) that aren’t yet in the CS standards.  This is using advanced knowledge in CS and advanced knowledge in Education to explore new ground.

December 5, 2014 at 8:15 am 1 comment

Creating CS Meetups for Constructionist Adult Education

A few months ago, I wrote a post on Constructionism for Adults. I argued that we want constructionist learning for adults, but most constructionist learning environments are aimed at children. I suggested that adults have three challenges in constructionism that kids don’t have:

  • Adults have a “face” (in the Goffman sense) that they want to preserve.
  • Adults don’t necessarily have expertise in an area, but as adults, they are presumed to have expertise.
  • Adults have less free time and more responsibilities than children.

I mentioned in that post that I was learning to play the ukulele, and that that experience was leading to new insights for me about adult education. I’m going to continue to use my ukulele learning to suggest a way to create constructionist learning opportunities for adults.

Legitimate Peripheral Participation for Adult Learning

From this point of view a very remarkable aspect of the Samba School is the presence in one place of people engaged in a common activity – dancing – at all levels of competence from beginning children who seem scarcely yet able to talk, to superstars who would not be put to shame by the soloists of dance companies anywhere in the world. The fact of being together would in itself be “educational” for the beginners; but what is more deeply so is the degree of interaction between dancers of different levels of competence. From time to time a dancer will gather a group of others to work together on some technical aspect; the life of the group might be ten minutes or half an hour, its average age five or twenty five, its mode of operation might be highly didactic or more simply a chance to interact with a more advanced dancer. The details are not important: what counts is the weaving of education into the larger, richer cultural-social experience of the Samba School.

So we have as our problem: to transfer the positive features of the Samba School into the context of learning traditional “school material” — let’s say mathematics or grammar. Can we solve it?

— Seymour Papert, “Some Poetic and Social Criteria for Education Design” (1975)

What Seymour was seeing in Samba schools is what Jean Lave and Etienne Wenger called a community of practice. My colleagues Jose Zagal and Amy Bruckman have a wonderful paper describing how Samba schools are a form of a community of practice, and how that model appears in the Computer Clubhouses that Yasmin writes about in her new book. In their influential 1991 book Situated learning: Legitimate Peripheral Participation, Lave and Wenger described several examples for how learning occurs in everyday settings, often with adults. Lave and Wenger point out

  • There are the midwives who train their daughters who start out just going-along to help mother at births.
  • There are the tailors who start out by delivering fabric and pieces between shops, and in that way, get to see many shops — without actually doing tailoring but still doing something useful to being a tailor.
  • There are the attendees at Alcoholics Anonymous meetings who learn to tell their stories through listening to role models and getting feedback from others.

There are some key elements to these stories:

  • Newcomers start out doing something useful, but on the periphery of the community — hence, legitimate peripheral participation. Jose and Amy point out that successful Samba schools are flexible to outsiders (anyone can become a newcomer).
  • Everyone sees practice (story-telling, being a tailor, helping a birth, dancing at Samba school) at different levels. Jose and Amy talk about having a diversity of membership (socio-economic, age, race, and expertise) and that there are events for public to exhibit practice.
  • There are some members of the community of practice who are clearly at the center. They serve as role models for others. From the newcomers to those practicing but not yet central, everyone strives to learn to become like those at the center of the community of practice.

Ukulele Meet-up As Samba School and Community of Practice

In my quest to learn to play ukulele, I’ve joined the Southeast Ukers, a group of ukulele players in Atlanta. I was fortunate to know a Uker who invited me to a meet-up. A meet-up is the experience I’ve had that is closest to how I understand a Samba school.

The meet-up is held at a local Hawaiian BBQ restaurant at 2 pm on the 1st and 3rd Sunday’s in a month. Ukers show up with a couple of Ukulele songbooks with literally hundreds of songs. (I happened to have one of them on my iPad when I first went, and had both by my second meet-up.)

For the first 90 minutes, it’s a “strum-along.” The leader calls out a page number, then after a count off, everyone plays the same song and sings along. This is a remarkably successful learning activity for me as a newcomer.

  • It’s completely safe. If I can play along, I do. If I can’t, I just sing, or just watch. If I can play the chords but more slowly, I catch up on the second or third strum of a measure. I can immediately hear if I’m getting it right (right chord, right rhythm) or if I made a mistake. The people right next to me can hear me and can comment on my playing, but only those — it’s a big group.
  • It’s a public opportunity for learning. I know what chords everyone is playing. I can look around and see how everyone else plays it.
  • While everyone is strumming, the really good players are picking individual notes, or doing tricky rhythms. I can hear those, and watch them do it, and develop new goals for things I want to learn.

The gaps between the songs are when a lot of the learning happens for me. I get coaching (e.g., “You are doing really well!” or “I heard you stammer in your rhythm on that hard chord change”). I can ask specific questions and get specific advice. I’ve received tips on how to make D7 chords more easily, and different ways to do barre chords.

After 90 minutes, it’s open-mic time. Individual ukers sign up during the strum-along, and then go up to the corner stage to perform (a quality setup, with separate mics for singing and for playing and someone at a sound board). Here’s where we get to see those on their way or at the center of the community of practice. Those at the center of the community of practice reference other meet-ups and other performances, and often play their own compositions.

As a newcomer, I stare slack-jawed at the open-mic performances. They create music that I didn’t know could be made on a ukulele. Slowly, I’m starting to imagine myself playing at open-mic, even writing my own music. I’m starting to set a personal goal to become more central to this community of practice.

At a meet-up, I talk to my fellow ukers and get a sense of how much effort does it take to develop that level of expertise. I start to get a sense of how much effort it will take me to reach different levels of expertise. There’s no expectations set on me, and no presumption of expertise. I can decide for myself on how good I want to get and how much effort I can afford to put in. I can set my own pace for when I might one day sign up for an open-mic performance, and maybe even try to compose my own music. (But it won’t be soon.)

Creating a Computing Samba/Meet-Up Culture

Could we create an experience like the Samba school or like the meet-up for learning computing by adults, like undergraduates, end-user programmers, and high school teachers? What are the critical parts that we would need to duplicate?

It must be safe. People should be able to save face at the meet-up. Participants need to be able to talk with one another privately, without overhead (e.g., learning some complicated mechanism to open a private chat line). Newcomers need to be able to participate without expectation or responsibility, but be able to take on expectation and responsibility as they become more central to the community.

There must be legitimate peripheral participation. Newcomers have to be able to participate in a way that’s meaningful while working at the edge of the community of practice. Asking the noobs in an open-source project to write the docs or to do user testing is not a form of legitimate peripheral participation because most open source projects don’t care about either of those. The activity is not valued.

Everyone’s work must be visible. Newcomers should be able to see the great work of the more central participants just by looking around. This is probably the trickiest part. We tend to confuse accessibility with visibility. Yes, on an open source project, everyone’s contributions are accessible — if you can figure out github, and figure out which files are meaningful, and figure out who contributed which. Visible means that you can look around without overhead and see what’s going on.

I must be able to work alone. Everyone needs a lot of hours of practice to develop expertise. It can’t happen just in the meetup. There needs to be a way to develop one’s work alone, and share it in the meetup.

A Proposed Computing Meet-Up Context

Here are some early thoughts on what it might be like to create an environment for learning computing the way that the ukulele meetup works.

Years ago, the Kansas environment was implemented in the programming language Self. Kansas was remarkable. It was a shared desktop where all participants could see each other, see their cursors, and see their developing work.

Lex Spoon created a version of Kansas for the Squeak programming language called Nebraska (for another “large, flat, sparsely-populated space”). Nebraska in Squeak is particularly interesting for a meet-up because all the rich multi-media features of Squeak are available in both a programmable and a drag-and-drop form.

Here’s a sketch of what I propose, using a shared space like Kansas or Nebraska:

  • Participants come to a physical space with their laptops. Physical co-location is key for safe and easy peer communication. A new journal article on co-located viewing of MOOCs suggests that co-location may dramatically improve learning.
  • The participants log on to a shared Kansas/Nebraska server, which is displayed an ultra-high resolution display.
  • The participants work together to create a multimedia show.
    • Newcomers can build the graphical or audio elements (perhaps some developed at home and brought to the meetup). Building can start in drag-and-drop form, but can develop into code elements. If something doesn’t work, it might not make it into the show, but it’s a contribution to the shared space, and it’s visible for comment and review.
    • All participants can watch others work, and can walk over to them to ask questions.
    • Participants can specialize, by focusing on different aspects of the performance (e.g., music, graphics, layout, synchronization).
    • Those more central to the community can assemble components and choreograph the whole performance (much as in a Samba school).

Would this kind of meet-up be a way for adults to learn computation in a constructionist manner?

October 8, 2014 at 8:24 am 8 comments

The first Critical Research Review at ICER 2014

My report on ICER 2014 is at Blog@CACM here. I also participated in the post-ICER Critical Research Review or Work-in-Progress Workshop (both titles have appeared at different times). Colleen Lewis organized it, based on the “functions” peer review that Education graduate students do at Berkeley. It was great, far better than I might have guessed.

I wanted to participate, in order to support and be part of this new kind of activity at ICER. I was expecting maybe a dozen people in a room, where one at a time a person would present for 15-20 minutes and then get feedback for a few minutes. Y’know — a “workshop.” Boy, was I wrong.

Instead, Colleen broke us up into two groups of five. (The small size was critical.) All of us presented some brief paper (couple pages preferred) that everyone read beforehand. Colleen gave each of us a writeup on the desired culture and tone for the event. “Don’t be mean” and “Don’t be defensive” and “Be nice” were some of the common themes in those directions. At the CRR, each of the five went off to a different room/space.

Over the course of five hours (two the first day, three the next), each participant had her or his turn to share their work. Sometimes we saw data (a video, or a bit of interview transcript), that the group was meant to help interpret. Sometimes we saw a student problem or a design problem, and we brainstormed theoretical perspectives that could help to gain leverage on understand the student’s issues or to improve the design.

It wasn’t a presentation, and it wasn’t an audience. It was (to use Colleen’s phrase) “borrowing four smart people’s brains to work on your problem for an hour.” I got a lot out of the feedback on my problem (related to the Constructionism for Adults post from awhile back). It was enormous fun digging into the others’ problems. Ben Shapiro of Tufts, Craig Miller from Depaul, Sara Esper of UCSD, and Kate Sanders from Rhode Island College were my teammates — it really felt more like a team, working together toward joint success than a presentation.

At the end, we evaluated the activity to figure out what worked and what didn’t. It really worked to have an easel for a note-taker (not the presenter/leader) to use to track all the discussion. The notes helped the group figure out where they were at, and were a wonderful artifact for the presenter afterward.

Overall, it was a huge success. I expect that we’ll see many future ICER (and other CER venue) papers coming out of the work we shared in Glasgow. I encourage others to participate in the CRR in future years.

August 27, 2014 at 8:25 am 5 comments

Constructionism for Adults

Constructionism–the N word as opposed to the V word–shares constructivism’s connotation of learning as “building knowledge structures” irrespective of the circumstances of the learning. It then adds the idea that this happens especially felicitously in a context where the learner is consciously engaged in constructing a public entity, whether it’s a sand castle on the beach or a theory of the universe.

Most researchers exploring constructionism study children. Mitchel Resnick, Yasmin Kafai, Uri Wilensky, Amy Bruckman, Idit Harel, and other academic offspring of Seymour Papert have studied how children learn through construction in a variety of media, from Scratch to e-textiles. The semi-annual Constructionism and Creativity Conference talks about “students” not “children” on the Constructionism history page, but the proceedings from the 2012 conference show that it’s about children’s learning, both formal and informal.

I’ve grown up constructionist-by-association, rather than by training. I got to work with Seymour and with Mitchel for a short time on the design for LCSI Microworlds. Yasmin is one of my oldest friends, from even before she went to work with Idit and Seymour. I worked from a constructionist perspective here at Georgia Tech with Amy Bruckman and Janet Kolodner.

Nowadays, I work mostly with adult learners — undergraduates, end-user programmers, and high school teachers. There’s nothing in Seymour’s definition that prohibits applying constructionism to adults. Their learning should be “especially felicitous” when they are “constructing a public entity.” But I don’t think that constructionism for adults is the same as constructionism for children.

I can identify examples (as an existence proof) that constructionism can work for adults as well as children.

  • Teachers know that if you want to learn a new subject, sign up to teach the new subject. Constructing the course and teaching it to others is a great way of developing that knowledge.
  • Programmers take on new projects to learn a new method, language, context, or community. My former PhD student, Mike Hewner, wanted to know what professional game development was like. Because he’s an exceptional software engineer, he was able to land himself an internship with a game company one summer (with no prior game experience), explicitly to learn game development.

I see three big differences in adult constructionism from child constructionism, and they’re related.

1-MyUkelele

(1) Saving Face I’m learning to play the ukulele. I bought it about a few months ago, and am playing it daily. I’m learning a huge amount, both in terms of the skill and concepts needed to play, but also at a meta level about music. The ukulele makes me think about timing, strumming, and chord patterns in a different way, and now I listen to all kinds of stringed instruments in a different way. It’s helping me to sing better, since I can more easily hear when I’m at the wrong pitch and I hear rhythm differently when I’m strumming.

But I am not learning to play ukulele as a public artifact. I’m frightened by the thought of playing in public. Only my family has ever heard me play.

Adele Goldberg worked on one of the iterations of the UK Open University’s introductory computing course, and she told me that distance learning opportunities were most important for adults. She pointed out that adults work for decades to develop their careers and their prestige. It’s really hard for them to then put their hands up in a physical classroom to ask a question and risk being found out as not knowing.  There’s a recent Freakonomics podcast that claims that the three hardest words to say in the English language are: “I don’t know.”

Constructionism for kids is all about the public aspect. The Scratch website plays a role in students sharing their work, downloading others’ projects, remixing and sharing back what they found. Collaboration and public sharing has always played a big role in stories of constructionist learning.  Maybe this is why work in Constructionism tends to focus at the youngest children, because the social standing and peer pressure issues increase as the kids get older.

Adults have face in a different way than children. We can still learn from construction, but we might not want it to be as public in the same way as children. We might not want to even publicly remix, or others might learn what we’re doing.

(2) Presumption of Expertise I’ve mentioned before in this blog that I’ve been singing in my church choir. I often feel ignorant — and embarrassed at my ignorance. There is so much about singing in a choir that is assumed when you are an adult, from how to sing into a microphone to how to harmonize by hearing the melody. We teach these things to children, because we know that they don’t have the basics.  We expect them to be novices at most things.

As an adult engaging in an activity, we are presumed not to be novices. If you sing in a choir, the assumption is that you must have sung in choirs before –“You all know the basics.” But if you’re starting out in a new domain, you may not. Even when I admit my ignorance (hard to do because of the issue of face) and ask questions, the director quickly forgets my lack of background — a couple things get explained, and then the presumption of expertise comes back. I look like all the other adults there. It’s not like a classroom of similarly-aged students where the teacher can assume a similar background. Adults have radically different backgrounds. I recently served on the advisory board for a science and engineering learning project that used Lego robotics context.  The most common teacher professional development question was about the Lego.  These teachers had not played with Lego as children, were uncomfortable with it, and had to spend extra (unexpected from the researchers’ perspective) time to learn to use Lego.

Constructionism depends on learning in the context of construction.  The goal of the learning isn’t the construction itself.  It’s construction as something to think with.  As Seymour put it, you can’t think about thinking without thinking about something.  But if you don’t know how to construct, then most of the activities of construction don’t fall into the background, and then it’s hard to think about the artifact being constructed and to learn from that process.  Children learn through Lego and Scratch after they get the basics of how to put blocks together (in both physical and virtual forms).  Adult teachers who learn from constructing lectures and adult programmers who learn from constructing software only learn after they’re comfortable with course design and programming.  When you first design a course, you’re learning about course design, and less about the content.  Few people will learn to program by joining an open source development effort.

The problem of expecting expertise shows up often in undergraduate education. In undergraduate computer science courses, we expect students to know about mathematic concepts from algebra, trigonometry, geometry, and even calculus. If students don’t know those concepts, we expect them to “pick them up” on their own, and their grades suffer. When they fail, we complain that “these students don’t have the right background.” If they don’t have the basic background, it’s hard to move forward. Think about it from a developmental perspective, instead of our more common judgmental “hold the standard” perspective. Where does the student get the knowledge that we expect but they “missed”? If an adult misses the basics, is that it? They’ve simply missed out for this lifetime? How does an adult fit in learning Algebra 1 (for example) if he missed out earlier?

Because of the presumption of expertise, we adult learners tend to gravitate to constructionist learning opportunities where we do know the basics. Teachers have taught before, so they can learn by teaching something new. Mike Hewner is an excellent software engineer, so simply shifting to a new domain was an enjoyable challenge.

Or, we tackle project where adults with no expertise are expected, like learning a foreign language or introductory web design. But if I as an adult decided to learn how to build a bookcase from lumber, it’s not clear where I’d go to get the basic knowledge of carpentry that I lack. Go to the local DIY store and there’s an assumption that you did shop as a kid and that you know how to hammer and saw efficiently.

Maybe this is why it’s so hard for adults to jump into a new career, to start over, to construct new prestige. We lose face because we give up our former prestige. But as we live longer, there is time enough to develop new prestige, a new face.

(3) Time and Responsibility. I saved the most obvious difference for last. In our modern society, we do the majority of formal education before our citizens develop responsibilities around home, family, and career, when they can devote time to learning. Adults are swamped with responsibilities and do not have much time to devote to learning.

Constructionism is not an efficient form of learning. Learning can happen “irrespective of the circumstances of the learning” (as Seymour says). One can learn from reading a book or attending a lecture. Building through construction can be a motivating context for learning, and it can lead to deep learning. But there are more efficient forms of learning, like individual tutoring and guided instruction. We can get better learning from mastery learning.

Adults need efficient learning. Efficient learning fits better into the time available. Learning occurs more efficiently with a teacher or mentor, who can design learning, guide learning, provide useful feedback, and cut-off dead-ends and wasted time. But the first two differences make it more difficult for adults to get the guidance that a good teacher can provide. Adult learners are less likely to seek out a teacher and ask their questions. It’s hard for teachers to recognize adult learner’s needs, because they presume expertise.

Sure, some adults will spend lots of time in “inefficient” constructionist learning activities, like model railroads, recreational mathematics, and the Society for Creative Anachronism.  What are the conditions under which that happens?  Obviously, leisure time is necessary — time that the adult feels can be spared from other responsibilities.  What if the adult wants to learn something “real” (e.g., something that aids in meeting responsibilities, like perhaps skills towards a new job or promotion), then they are unlikely to choose a constructionist route.  They might choose a MOOC, or some vocational form of learning that is more authentic.

Conclusion: I do believe that constructionism is an “especially felicitous” way to learn.  It’s fun to learn through constructionism.  Constructionist learning tends to be deep learning.  We do want adults to be able to use constructionist learning.

Constructionism can work for adults, but it’s more challenging. There are different issues than with children. Adults have less time to spend on learning and more responsibilities. They may not have the basic construction skills and knowledge in the medium of choice for constructionist learning, which is necessary to learn through construction.  They are less likely to ask for and receive the help that makes learning for effective and efficient. They are less likely to share, if that sharing might expose their lack of understanding. Constructionism is a particularly fun way to learn, but the costs of constructionism may be greater for adults than the utility provided.

As we live longer, the challenges of learning as adults becomes more of a problem.  If people are going to live to 80 or 90, it’s less believable that you will learn all the basics you will ever need for whatever career(s) you might be interested in by the time you are 21.  There’s time enough for a second career.  We need to make opportunities sufficient to learn for that career, too.

May 23, 2014 at 8:43 am 15 comments

Education Research Questions around Live Coding: Vygotskian and Non-Constructionist

I posted my trip report on the Dagstuhl Seminar on Live Coding on Blog@CACM (see the post here).  If you don’t want to read the post, check out this video as a fun introduction to live coding:

I have a lot more that I want to think through and share about the seminar. I’m doing a series of blog posts this week on live coding to give me an opportunity to think through some of these issues.

IMG_0100

I saw four sets of computing education research questions in live coding. These are unusual research questions for me because they’re Vygotskian and non-Constructionist.

Live coding is about performance. It’s not an easy task. The live coder has to know their programming language (syntax and semantics) and music improvisation (e.g., including listening to your collaborator and composing to match), and use all that knowledge in real-time. It’s not going to be a task that we start students with, but it may be a task that watching inspires students. Some of my research questions are about what it means to watch the performance of someone else, as opposed to being about students constructing. I’ve written before about the value of lectures, and I really do believe that students can learn from lectures. But not all students learn from lectures, and lectures work only if well-structured. Watching a live coding performance is different — it’s about changing the audience’s affect and framing with respect to coding. Can we change attitudes via a performance?

Vygotsky argued that all personal learning is first experienced at a social level. Whatever we learn must first be experienced as an interaction with others. In computing education, we think a lot about students’ first experience programming, but we don’t think much about how a student first sees code and first sees programming. How can you even consider studying a domain whose main activity you have never even seen? What is the role of that coding generating music, with cultural and creative overtones? The social experience introducing computing is important, and that may be something that live code can offer.

IMG_0073

Here are four sets of research questions that I see:

  1. Making visible. In a world with lots of technology, code and programmers are mostly invisible. What does it mean for an audience to see code to generate music and programming as a live coder? It’s interesting to think about this impact for students (does it help students to think seriously about computing as something to explore in school?) and for a more general audience (how does it change adults’ experience with technology?).
  2. Separating program and process. Live coding makes clear the difference between the program and the executing process. On the first day, we saw performances from Alex MacLean and Thor Magnusson, and an amazing duet between Andrew Sorensen at Dagstuhl and Ben Swift at the VL/HCC conference in San Jose using their Extempore system. These performances highlighted the difference between program and process. The live coders start an execution, and music starts playing in a loop. Meanwhile, they change the program, then re-evaluate the function, which changes the process and the music produced. There is a gap between the executing process and the text of the program, which is not something that students often see.
  3. Code for music. How does seeing code for making music change student’s perception of what code is for? We mostly introduce programming as engineering practice in CS class, but live coding is pretty much the opposite of software engineering. Our biggest challenges in CS Ed are about getting students and teachers to even consider computer science. Could live coding get teachers to see computing as something beyond dry and engineering-ish?  Who is attracted by live coding?  Could it attract a different audience than we do now?  Could we design the activity of live coding to be more attractive and accessible?
  4. Collaboration. Live coding is a collaborative practice, but very different from pair programming. Everybody codes, and everybody pays attention to what the others are doing. How does the collaboration in live coding (e.g., writing music based on other live coders’ music) change the perception of the asocial nature of programming?

I’ll end with an image that Sam Aaron showed in his talk at Dagstuhl, a note that he got from a student in his Sonic Pi class: “Thank you for making dull lifeless computers interesting and almost reality.” That captures well the potential of live coding in computing education research — that activity is interesting and the music is real.

IMG_0074

September 30, 2013 at 5:38 am 6 comments

More evidence for Aptitude-Treatment Interactions

The same kind of educational opportunity does not work for all students. In particular, constructionism may not provide enough structure for low achieving students. (See previous discussion about boredom vs. failure.)

Moreover, the researchers found different approaches effective for different types of students: “Usually people say, ‘Yes, autonomy is beneficial. We want to provide students with choices in school,’ This is the case for high achievers, but not low achievers,” Wang said. “Low achievers want more structure, more guidelines.”

via ‘Active’ Student Engagement Goes Beyond Class Behavior, Study Finds – Inside School Research – Education Week.

August 6, 2013 at 1:36 am 1 comment

Kids should learn programming as well as reading and writing – Mitch Resnick

A recommended video from Mitch Resnick, who leads the Lifelong Kindergarten group at the MIT Media Lab, the home of Scratch.

Most people view computer coding as a narrow technical skill. Not Mitch Resnick. He argues that the ability to code, like the ability to read and write, is becoming essential for full participation in today’s society. And he demonstrates how Scratch programming software from the MIT Media Lab makes coding accessible and appealing to everyone — from elementary-school children to his 83-year-old mom.

As director of the Lifelong Kindergarten group at the MIT Media Lab, Mitch Resnick designs new technologies that, in the spirit of the blocks and finger paint of kindergarten, engage people of all ages in creative learning experiences.

via Kids should learn programming as well as reading and writing – Boing Boing.

January 28, 2013 at 2:00 am 10 comments


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

Join 10,184 other subscribers

Feeds

Recent Posts

Blog Stats

  • 2,053,612 hits
March 2023
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  

CS Teaching Tips