Posts that are engineering edu-ish
The best part of Visualization class so far is getting exposed to a wild gallery of examples (visual Hacker Schoolers, take note!) Some of my favorites:
I also learned a new phrase: external cognition (Scaife & Rogers, 1996) — it’s a concept I’ve used many times, but now I have a literature reference for it! External cognition refers to using stuff to offload your brain — for me, it’s spreading papers out on my desk, scribbling on a whiteboard, saving notes on a computer, and so forth… instead of memorizing, I learn how to look up things, or I configure my software to pop up notifications to remind me. Basically, I get a lot less “smart” without my tools.
I’ve decided my class project will be a visualization of narrative data (from my dissertation) — how to navigate between intertwined stories of the same event from multiple viewpoints. In addition to thematic similarities, we have examples of:
- Same event, same narrator, different tellings: Lynn sits down in the spring and tells me about the first day of UOCD (a class). Later in the summer, Lynn sits down again and tells me about the same first day of UOCD — how do the two versions of her telling differ?
- Same event, different narrators: Jon also told me about the first day of UOCD. How is his account similar/different from Lynn’s?
- Narrators mentioning each other: Lynn mentions Jon in her account of UOCD’s first day, and Jon mentions Lynn.
- Narrators responding to each other: Once Lynn reads what Jon said, she starts thinking about how she told the story. (Possible sub-question: what in our stories do we choose to focus on / react to? Is there a heatmap we can make?)
This is going to be fun to play with and untangle — I’m not sure what I want to visualize yet, but the above connections seem like a reasonable starting point.
I’m going to gradually share my dissertation proposal here as I migrate it to github and into LaTeX – I’d love reactions, comments, questions, etc! The title is “a poststructural perspective on engineering and technology faculty as learners,” which will hopefully make sense after the first 2 paragraphs.
Faculty are learners, too.
We often think of engineering and technology faculty as teachers. As facilitators of student learning, they hold certain philosophies about teaching and learning that shape their interactions in the classroom. However, faculty are also learners themselves, students of the practice of “teaching engineering and technology.” As engineering education researchers concerned with research-to-practice transfer, the ways we think about faculty-as-learners likewise shape the ways we try to impact their practice. Making this thinking more visible within the engineering/technology domain is of interest to engineering and technology faculty members, faculty development professionals, and adult learning researchers.
My dissertation draws on the traditions of cognitive apprenticeship and narrative within engineering education research to explore poststructuralism as one possible perspective on faculty-as-learners. Poststructuralism is a paradigm that constantly seeks a “making-strange” and unsettling of habitual narratives. A poststructural view challenges us to remain in the discomfort of liminal (in-between) spaces where everything is constantly troubled and nothing ever really settles. This study demonstrates a concrete method for engaging faculty members in that liminal space. Through it, I anticipate contributing to our ability to articulate and value faculty explorations in chaotic territories such as large-scale curriculum redesigns, new program formation, and other places where valuable growth occurs but is rarely put into words.
How can we think of faculty as learners?
I will briefly describe several qualities of faculty-as-learners, compare and contrast them to the qualities presented in existing literature, and explore why it may be valuable to make these qualities visible. Note that by comparing and contrasting my approach to other studies, I am not making statements about the relative quality or validity of their work. I am also not saying that these ways of viewing faculty-as-learners are not present in any existing literature. I am simply using differences and similarities to more clearly articulate certain assumptions about faculty-as-learners that are present in this project.
They are situated in the community of practice of teaching their discipline.
The first quality of faculty-as-learners is that they are situated in a community of practice (Wenger, 1999), that of teaching their discipline. By making sense of the activities of other practitioners around them, they develop the skill of reflection-in-action (Scho¨n, 1983) and use this metacognition and self-monitoring to improve their own practice. Existing engineering education change initiatives have used this cognitive apprenticeship (Collins, Brown, & Newman, 1987; Collins, Brown, & Holum, 1991) approach to build Faculty Learning Communities (Cox, 2004) and other communities of practice to encourage rigorous research in engineering education (Streveler, Smith, & Miller, 2005). Understanding faculty as situated and communal learners helps explain the limited success of an “information dissemination” approach (Siddiqui and Adams, 2013) to research-to-practice transfer. If faculty change their teaching practice primarily in response to direct interactions with colleagues (Fincher, Richards, Finlay, Sharp, & Falconer, 2012) and not print materials, it’s no surprise that journal papers continue to go unread (Borrego, Froyd, & Hall, 2010).
They are adult learners.
The second quality of faculty-as-learners is that they are adult learners. They have rich histories of experience to draw upon as well as expectations of agency (Vella, 1997). This quality allows us to portray faculty as narrators, highly capable and interdependent agents who both read and co-author the stories of “how things are done” within their culture. The Disciplinary Commons initiative (Tenenberg & Fincher, 2007), which scaffolds faculty through a dialogic process of creating teaching portfolios for their existing courses, is an exemplar of validating faculty as adult learners. Initiatives that treat faculty as mere empty “buckets” to be filled with “information about teaching,” such as information sessions dedicated to lecturing faculty about why they should not lecture, may have a limited impact because of this epistemological disjoint.
They learn by engaging in liminal experiences.
The third quality of faculty-as-learners is that they often learn by engaging in liminal experiences where their activities do not fall into a cleanly articulable structure, and can therefore be described as poststructural. In fact, the liminal experiences of faculty are often explicitly about dismantling old structures and remaking new ones, such as the founding of a new college (S. Kerns, Miller, & D. Kerns, 2005) or degree program (Katehi et. al., 2004), dramatic overhauls of an existing curriculum (Mentkowski, 2000), or the creation of experimental classes.
The trouble with liminal experiences is that they stand outside the realm of structure, including the structure of validation and reward. Our existing academic system rewards faculty for engaging in liminal spaces for their research, so long as they are able to publish papers about it afterwards. However, the examples listed all impact teaching, a form of scholarship that is underdeveloped and unrecognized (Shulman, 1998), with a correspondingly slow speed of change. Mann’s (1918) calls for engineering educators to improve student retention, make undergraduate workloads reasonable, and increase hands-on training still sound as relevant today as when he wrote his report nearly a century ago. Our calls for transforming engineering education (National Academy of Engineering, 2005; Institute of Medicine, National Academy of Sciences, & National Academy of Engineering, 2007; McKenna, 2011) will similarly go unheeded unless we find ways to understand and articulate the ways faculty learn and work in these liminal spaces.
By having engineering and technology faculty work with their stories of liminal experiences, this study addresses the following research question: How can the interacting narratives of engineering and technology faculty inform our understanding of faculty as learners?
I’m taking my last (required) engineering course as a student this semester. It’s a course on visualization based taught by David Ebert and Abish Malik. Basically, I’ll get credit for using my computer to make pretty pictures based on giant datasets. Shiny! It’s also my first-ever engineering course with an interpreter (Laurie), and I’m sucking up new technical ASL vocabulary like a sponge; this semester is unexpectedly full of opportunities to practice my signing. Double-shiny.
I’ve got to start thinking of a term project, and so far I have a few main ideas — but others are welcome, along with brainstorms on how to flesh them out. If I can get a firm idea before Sep 30, I can prototype an entry for the NSF visualization challenge. Project requirements are here, and my ideas so far are:
A dashboard for Hacker Schoolers which would track metrics of interest based on what people consider relevant to their “becoming a better programmer.” Particularly interesting, I think, might be a visualization for Hacker School facilitators – what ways can we use already public data to give them an overview of what many people are doing at once, with the ability to zoom in, compare, etc. as they want? However, I don’t have a clear vision as to what this might look like, so feature ideas/requests are welcome.
Visual ways to navigate intertwined narrative text for my dissertation, which involves people telling stories in response to other people’s stories (and then the original storytellers tell new stories in response to those responses… so they’re intricately tangled up).
Complex symphonic music as experienced with hearing loss, hearing aids, and cochlear implants. My interest in this area is pretty obvious, but this now seems like the most boring project of the three — I could be wrong, though!
Help me brainstorm, intarbrainz!
In other news: today’s class was mainly adminstrivia and an overview of visualization, which is one of many ways to (literally) “make things visible” — converting numerical, abstract data into a graphical representation. For visual learners (like myself), this is effectively translating into our native mental file format. For practically everyone, visualization frees up much of the cognition involved in processing massive amounts of numerical data, allowing us to use higher-level brain functions to ask and analyze interesting questions (I’d heard this before), and making us more confident in our decisions (I hadn’t heard this before). Some fun viz examples include Chris Harrison’s visualization of Biblical cross-references and a map of the US colored by distance to the nearest McDonald’s.
And with that, I’m off to my next meeting. It’s amazing how much more energetic and happy and just plain kind I am when I don’t pretend I’m hearing — telling people I’m deaf, having accessibility in my classes… even my brother noticed it (“You’re less grumpy with your hearing aids,” said Jason in the minivan last month).
As part of the “make disability stuff visible” thing I am trying to do, here is an update I just sent some of the staff at Purdue’s DRC (Disability Resource Center). First, a little explanation/setup.
SETTING THE SCENE
I’m deaf*, and need interpreters/transcribers to be able to understand lectures, participate in group discussions, etc. Since interpreters/transcribers also need to be booked in advance, I can’t simply schedule an impromptu meeting, add a class, etc. like my classmates. I also need to also arrange for accessibility for it, and sometimes it’s touch-and-go. If I want accessibility, I constantly need to juggle these logistics with no assurance that the other end (teachers, events, etc.) will remember, follow up on things, etc. I can never tell how long it will take, so I can’t budget or plan for it — one email? Ten emails back and forth? Five emails and a meeting? Seven emails, and then they forget to set it up on the day of the class? Eight emails, and then I have to go through the humiliation of asking a friend to make phone calls for me, because sometimes they don’t reply to my emails, but they will respond right away to a hearing person calling them on the phone?
It’s no wonder I hate logistics with a passion; imagine being a kid and having this — not things like “organize your Boy Scout troop’s hike!” – be your first, primary, and repeated exposure to “doing logistics.” I wish I had enough money to hire someone to just do this for me, but… seriously, how many people have the sort of economic privilege needed to hire a personal assistant? (Personal assistants get paid more than I do as a grad student!)
Anyway, that’s why I’m so grateful to have such a great DRC counselor at Purdue, because that’s what their job is — to be the people who taks this stuff off my shoulders. It took a while, but I’m now at the point where I completely trust my counselor to pick up on things when I ask for them once, and to do what needs to be done to make them happen (especially when the other party is nonresponsive). It makes the cost predictable — I email the DRC once, and things happen — and since I know and have bounds on how much effort it will take, I actually do it, and now I’m participating in classes instead of just faking my way through them.
And with that, the email to my counselor is below.
Update on all things Mel-accessibility related, for your convenience.
OLD STUFF, NO ACTION NEEDED
1) Thursday afternoon meetings/seminars are being worked out with Voc Rehab, all set here.
OLD STUFF, ACTION NEEDED (HELP PLEASE!)
2) FIE (October conference in Madrid) has not responded at all to my requests. I think I’m gonna need some firepower here; can someone call them and be annoying ’till we get somewhere? I have sent them what I need, have contact info for a interpreter who’s familiar with my discipline’s material and is willing to go, etc. etc. — we just need them to acknowledge this and say yes and figure out who will pay for it.
NEW STUFF, ACTION NEEDED
3) I’ll be guest-teaching a colleague’s class on September 25 (Thursday) from 10:30-11:20 in [location]. His students are going to be asking me tons of questions. Can we get CART/ASL?
4) I got a new RAship! [Purdue Department] hired me to do faculty development (…of sorts) for the professors doing the first Big Pedagogical Experiment. I think I’ll be ok with 1:1 convos, but it sounds like there will be Big Meetings With Everybody (that they have not scheduled yet) and I am thinking “oh man, I am going to need an interpreter or CART or something for this, or my brain is going to fry.” Can we make this happen, once I figure out when/where those meetings will be?
UPCOMING STUFF, NO ACTION NEEDED (YET)
5) I’ll be registering for the POD conference in Dallas in November pretty soon, and am going to do the accessibility ask to them; I think it’s their responsibility to take care of it, but just sending a heads-up in case we need to loop you into the convo for any reason (like the “hey, can you be really annoyingly persistent?” thing we need to do for FIE now).
6) The Faculty Coaching Seminar I mentioned earlier and signed up for is about to schedule my weekly check-in small group conference call, and I should have the schedule for that sometime next week so that we can arrange CART for it — it’ll be a regular weekly thing for all of Fall semester.
Thank you so much. You have no idea how much better you are making my life.
*A lot of people are surprised when they find out I’m deaf, or when they read these sorts of posts even if they already know I’m deaf. I speak and lipread so well that I can pass for hearing if I want to, so it looks like I am “doing fine by myself.” It’s a tremendous privilege and convenience to be able to pass, so I spent most of my life passing, and still frequently do today — but I would like to show people a little of how much it costs to do that, which is why I’m writing blog posts like this.
I recently wrote an email to the POD listserv that got favorable reactions, so I’m reposting it here to make it easier for others to share. The discussion was on the value of using open-ended questions for mid-semester feedback. My PRISM column from January 2014, “Culture Clash: To encourage self-starters, begin with the curriculum,” covers related ground.
AMEN to using open-ended mid-semester feedback.
This reminds me of something Sanjoy Mahajan wrote while he was at MIT — I can’t find the piece now, but it’s about how he got feedback on his then-draft textbook. Sanjoy told his students (paraphrased) “I wrote this thing, I know there are bugs in it — places where things aren’t explained well, etc — and I CAN’T FIND THEM. You can. I need your help!” Basically, he asked them to be textbook editors/reviewers, placing them in an expert role and himself in a learner’s role (“what is it like when you try to use my book to learn something?”) It’s sort of like being an ethnographer.
Anecdotally, as an undergrad (at Olin College), I was always impressed and deeply appreciative of professors who took time in class to discuss mid-semester feedback. Not just presenting feedback results to us (“here’s what you said, here’s what I’m going to do about it”) and doing a quick ask for any further feedback/questions, but very seriously structuring it as a design review of the course itself, with the students as the co-reviewers:
- Here were my 3-5 big learning objectives for the course.
- Here’s how I thought we were doing on them before I heard your mid-semester feedback.
- Here’s how I think you feel we’re doing on them now, based on your mid-semester feedback.
- Am I understanding you correctly?
This was often the intro to a rousing conversation about things like…
Why are those the learning objectives? We’d seen these random words on our syllabus at the start of the semester, but had no context to understand what they might mean. Now, halfway through the term, we could talk somewhat intelligently about them.
Do we (as students) have the same understanding of what the Big Ideas in this class/the discipline are? (“Wait, Fourier transforms are actually… that important? I thought this obscure MATLAB function we keep using was a key idea, and that the transform was just a sidenote; clearly I should rethink my conceptualization of ideas in this discipline.”) As an extremely global learner who needs to see the “big picture” before anything make sense, I appreciated this step-back tremendously.
What does it mean to learn/teach/be an engineer/scientist/anthropologist/mathematician/historian/etc? Are we (as students) doing that? How can we tell? If we don’t think we are, what can we do to change that?
Basically, these professors used mid-semester course reviews as an opportunity to expose the class’ underlying “source code” (as with programming) — to “pop the hood” (as with a car) and let us muck around with the internals, so that students would implicitly understand that things like “how do you teach calculus?” was not an Eternal Truth Handed Down From On High, Alleluia — but rather a social construct.
Who decided calculus would be important? Who decided how to teach it to 18-year-olds? People! These are all choices made by people, and they could have been chosen differently! And I’m a person — and I can also help with that shaping and choosing of how I (and others) get to learn this thing, and which things we shall learn!
This probably sounds obvious to instructors, but it’s mindblowing to a shy, quiet teenage girl (the kind instructors complain does not “take initiative” — that was me) who’s never considered that they could have this sort of self-directed learning agency in school before. Maybe outside of school, some of my classmates knew they had that — at the skate park, in their Boy Scout troop, etc. But being able to push back and make comments and co-design learning experiences in a space with Big Important Professors With Authority? Weeeeeird.
And that insight, in turn, transformed the way I approached my other classes, even with professors who did not create space for student feedback by default; once I saw the entire universe of my learning as editable-by-me, and interpreted “professor did not ask for feedback” not as “it is impossible to change this course,” but rather as “the feature of editing this course is still there, but it’s hidden and may be harder to utilize” (almost as if it were a hidden, undocumented keyboard shortcut). I am not the only one; many of my college classmates report the same. That’s what the culture of our college taught us. And a lot of that culture was passed on using mid-semester feedback.
Anyway. Once that lightbulb turned on, I was hooked; it’s how I ended up doing my PhD in engineering education (where I am now). And again, that’s anecdotal, so if anyone’s done research on similar stories, I would love to read about it.
This is the first in a series of blog posts based on my Hacker School workshop series, “Learning Styles For Programmers,” which is in turn a software-focused adaptation of Rich Felder’s work on engineering learning styles. (As you read, it will become obvious this post started as a transcript of a workshop.)
Learning styles are like personality tests… for education. There are a few different spectrums — active/reflective, sensing/intuitive, visual/verbal, global/sequential — that are helpful for understanding how you operate as a programmer, both in a learning and a teaching role (we tend to teach the way we like to learn). We’ll go through them one at a time, starting with active/reflective.
(Note: if you are a global learner — that is to say, you like seeing the “big picture” first — you may benefit from reading this short blog post on learning styles first to get an overview before diving into the entire series.)
Spectrum #1: Active vs. Reflective
Every mature learner acts, and every good learner reflects… just not in the same order. “Active vs reflective” styles refers to which one you do first: active learners act, then reflect. Reflective learners reflect, then act. An active learner will frequently say things like, “How are you going to know unless we just try it and start messing around?” or “Just start typing. We don’t need to read any more, just go!” Active people tend to jump in, and then they reflect after they act. They do things, and then they look up and they go, “What the heck have I just done? What did I learn? I need to process this.” And then they process; the processing comes later.
A reflective learner, on the other hand, processes first. They are more likely to say, “Okay, hang on. Before we start this, let’s make sure that we have the pseudocode written. Have we read the language specification? And three textbooks? And maybe we should go talk with an expert, and…” (laughter from the room)
Ok, maybe that’s an extreme example. But reflective learners are at their best after they’ve had some processing time. That is one of the reasons I scheduled my Learning Styles workshop in the afternoon, after I gave a morning talk that briefly introduced the idea of learning styles (along with lots of other ideas).I wanted to give reflective learners a 2-hour break after my first presentation so they could digest the material before they came here. Reflective people don’t usually have questions right on the spot, but if I give them time to think about it, they come back with wonderfully thoughtful questions.
Reflective example: Stacey
A good example of a reflective learner is Stacey Sern, who is a Hacker School alumna. I talked with Stacey on a Monday once — early on Monday, talking about working together on a presentation. We chatted a little while, and then she said “Okay, that sounds great. I can think about that. Tomorrow.”
It wasn’t because Stacey was booked that day. Hacker Schoolers have extremely open schedules. But Stacey will need — honestly need — 24 hours to prepare herself to pair with you. It’s not a question of skills or confidence, because she has both; she just knows that she needs that time to get her mind in the right place. And once she shows up, she is so prepared. She has thought about the problem, scoped it out. But before that time, she will not be ready to pair.
Without knowing about active/reflective learners, it’s easy to stereotype Stacey as being a little slow, when in fact you would be missing out — she is a brilliant programmer. The code that she starts writing after 24 hours of pondering is clear, it’s crisp, elegant, it has lovely architecture, it’s way better than the stuff I start banging out on my keyboard immediately, because I’m an active learner, and so that’s what I naturally do.
Active example: Tom
Hacker School facilitator Tom Ballinger is also an active learner; show him some code, and he’ll immediately start pointing at it and thinking out loud. A lot of you (at Hacker School) have probably experienced Tom’s Instantaneous Code Reviews. Pretty incredible. But that also comes with the dynamic of “I have an idea, whee! Let’s try this path! Uh, okay, that didn’t work. Let’s try that one! Ok, that didn’t work. How about…” Tom shows you everything he’s thinking, including the dead-ends he’s running into, as he runs into them. In contrast, by the time Stacey gets to you, she’s already pruned the dead ends and figured out most of a pathway that will probably work.
Audience question: I can’t fit myself perfectly into this model. I do both active and reflective things. What am I?
That is a great point to bring up. These aren’t binaries, they’re spectrums. You can be 100% active, 100% reflective, and anywhere in between. So you could just be in between.
Also, this “learning styles” stuff is a framework — like all frameworks, it is not a perfect model of reality. (The only perfect model of reality is reality itself.) Rather, it is a tool that you can use for introspection. Do what’s helpful to you.
Audience question: But sometimes I act really active, and sometimes I act really reflective. Is that possible?
It is absolutely possible. If it’s helpful for you to understand yourself as switching back and forth between active/reflective — for instance noticing that you present as more active when you’re coding in language A and reflective in language B — then that’s what helpful to you.
Programming culture favors active learners
What might be happening — my guess, in fact — is that you are on one side of the spectrum, but you’ve learned to function on the other side. Our culture usually favors one side of a spectrum over the other. In the case of mainstream coding culture, the favored side is active learning. Think about programming interviews, where you’re given coding problems and asked to solve them on the spot. That’s incredibly biased towards active learners.
You can pretend to be a style you’re not, but it takes more energy
This means that many reflective programmers — especially the smart, successful ones — have forced themselves to act as if they’re active learners. It’s kind of like how introverts can pretend to be extroverted at parties — and then they go home and completely crash, because they’re drained. And active learners can learn how to act reflective — for instance, when they’re in school and get in trouble for not following instructions, or checking their work, or otherwise making careless mistakes because they skip things in their excitement.
Either way, it takes a lot more energy to operate outside your “native file format,” so to speak. But sometimes there are good reasons to do it. I personally find it helpful to acknowledge that it does take more effort to act like what you’re not, because then it’s a conscious choice you know the cost of, and you don’t end up feeling guilty that something easy for other people — raising your hand and speaking on the spot, for instance — seems so much harder for you.
Sometimes deliberately working outside your style is a useful learning experience
As a learning exercise, you can deliberately try working in a style that’s not your normal style. Again, it’ll take more energy — we all have our preferred modes — but sometimes you’ll learn something new.
For instance, Stacey, the reflective learner I mentioned earlier, found it valuable to pair with people who were very, very active, because she wanted to stretch herself towards more active ways of being. She knew that it would be hard, and that she would not be at her best. And maybe what she learns from that experience is that being more active is difficult, but useful. Or maybe what she learns is that trying to act more active makes her so frustrated that she just doesn’t learn anything, and she had better stick with being reflective. But then she knows something new about herself, and she can choose what she wants to do in the future.
It’s like… I learned the hard way that I’m unhappy when I code in assembly. I can do it, but it makes me a very sad Mel. So now I program exclusively in higher-level languages. Nothing below C or C++, unless I have a really, really good reason to do it. Before, in college, I thought, “There’s something wrong with me. I can’t code in assembly.” So I forced myself, masochistically, to code primarily in assembly for an entire semester and the summer after that, because I thought I should be able to, because I’m an electrical engineer. And I was miserable! (laughter) Now I think “I can program in assembly, but I’m happier when I don’t, and there is nothing wrong with choosing to be happy.”
That’s the point of all these learning styles things, for me. Learning about who you are, what your ideal environment is, how you’re happiest working, so you can find and choose that happiness.
Spanning the spectrum: what does that feel like when you pair?
When I talk about learning styles, I often ask workshop participants to plot themselves across the active/reflective spectrum. Every Hacker School batch I’ve asked to do this has ended up with somebody at every single possible point on the spectrum. This means that at some point during your learning experiences, you’ll probably pair with someone more active than you, and you’ll probably pair with someone more reflective than you.
In fact, I would encourage that. It feels very different to pair with someone who is on one side of you versus the other. Try pairing with someone that is on either side of you to see what that feels like and what kind of dynamic that creates. What’s it like to be the more active one? The more reflective one? See whether you like it, and whether that might be a dynamic that you might look to have — or avoid — in your future programming life.
Pairing active with reflective learners can be a blessing or a curse. If you have an active person and a reflective person pairing, they can either balance each other out — the active person’s diving in and trying out code, while the reflective person keeps an eye out for longer-term, big-picture things — or they can clash horribly. Active people can seem reckless and careless to reflective people, and reflective people can seem slow and resistant to change through an active person’s eyes.
I fall into that trap too. When I paired with Stacey, and she said, “I need time, I need until tomorrow to think,” my instinctive active-learner reaction was “but, but… we could work on it, together, RIGHT NOW!” I had to catch myself and go “wait, she’s reflective… and if I can wait a day, she’ll have this beautiful thing that I can then be super-enthusiastic and active-learnery about with her, instead of trying to drag her along with my half-baked ideas now.” And that’s what we did, and it was great — it was the first Test Driven Learning workshop.
Audience question: I understand the descriptions, but I’m still struggling to identify myself. Is there a test for whether you’re an active or reflective person?
There isn’t a perfect test, but here’s one: take two minutes in silence, right now, to think about a learning experience you’ve had, that helps you form a hypothesis for where on the active/reflective spectrum you are.
(No, really. Do it. Set a timer. In the live workshop, I paused everything and had everyone sit and think for two minutes while I watched a clock.)
(Are you back now? Good.)
Now: this isn’t an absolute test, but the 2-minute wait tends to be a pretty decent litmus test for active/reflective learners. If you felt very, very uncomfortable with this — bored, even — you are probably an active learner. After the first couple of seconds, active learners generally start shifting around, thinking, “Ah, okay. When can we start again? Can I ask you a question?” (In fact, one active learner stood up 30 seconds into the “silent time” and quietly started whispering questions to me. I had to try very hard to keep from laughing.)
Reflective learners, on the other hand, started to smile these blissful smiles. They physically relax. They exhale. Afterwards, they go “Oh, thank you. Thank you! You have stopped for a moment. I can process.” And it’s the reflective learners at my workshops who are always stunned — “wait, other people feel this way?” Because, like I said, our programming culture favors active learners… so we have all these reflective learners pretending to be active, walking around exhausted all the time, thinking they’re the only one and that something is wrong with them.
Audience question: are reflective people better at planning?
That is a pretty common way for it to manifest, but “active” and “bad at planning” are not quite the same thing — although I’m both active and ADHD, so that’s how it sometimes shows up for me! (laughter) Reflective does not mean the same thing as organized. I have meet reflective people who are not organized, as well as active people who are very organized.
However, active and reflective people do look different when they plan and organize. Active people will prepare to improvise — they’ll fill their pockets with the tools they need to parachute in and be reactive — whereas reflective people will tend to plan in the sense of thinking everything through before they do it.
Blogging at the end of a day, for instance, tends to work better for active people. Reflective people, if they blog, will blog at the beginning of the day to think about how they’re going to set it up. So they think about it and then they do it, and then they don’t have to really reflect on it anymore, because they did that beforehand. They know what they did because they’ve set that up, and they’re done, and they walk out the door and they go home.
Audience question: “Do time constraints make you behave more like an active learner?”
Great question. Time constraints can really bring some clarity to the situation and make both kinds of folks feel more stressed, but reflective people will get especially stressed out. They are not at their best when they’re asked to slam up things on whiteboards and type out code right on the spot in front of the interviewer, and they can feel that. It’s painful.
Dealing with active/reflective styles during a job interview
Now, if you’re an active learner and that’s your strength, then awesome. Play to it when you go interview. If you know you are reflective and that’s not how you’re going to function well, think about what you can do. Reflective people often have lovely products, portfolios, and polished deliverables. Think about ways that you can use those strengths to your advantage. How can you steer the conversation so it goes toward the portfolio you prepared? Can you talk with your interviewer and say, “Hey, this is the kind of programmer I am. This is the sort of environment that I excel in. You’re not seeing my best work in a rapid fire algorithm generation task, but let me show you what I can really do.”
That sort of insight is actually attractive and valuable, because it’s rare to see that in folks you’re trying to hire. If you think about it, your manager’s job is to figure out how to make you the most effective programmer you can be. If you tell them how you can be most effective, then you’ve done a lot of the job for them. If you know some the stuff about yourself and the implications that that has for your optimal work environment, tell them. It’s rare and impressive, especially for more entry-level programmers, to have that type of insight.
Learning strategies for active and reflective learners
Let’s talk for a moment about things that active learners and reflective learners can do. If you’re an active learner and you’re forced to sit through a lecture, you’re probably going to get really bored. So recognize that and give yourself permission to take really weird notes or mess around on your computer or to otherwise do something while you’re listening.
Similarly, reflective folks. If you need more processing time, you need more processing time, and you should take it. Be okay with not asking questions right at the end of a lecture or talk. Maybe have a strategy of asking for the speaker’s contact information: “That was a great talk, and I think my brain needs a little time to process it, because there were so many good ideas! May I email you with notes and questions once I write them up?” Also, tell your teammates! You can ask your teammates to pause and say, “Can we stop and think about this, take a coffee break, and come back in 15 minutes?” You’ll make other people function better because you’re forcing some of them to take breaks they don’t realize they need.
If you want more, Rich Felder has a funny case study and more tips for active and reflective learners, and my earlier blog post on learning styles had programming-specific tips.
Ironically, Rich’s says that it’s the reflective learners who have an advantage, because he’s a professor writing from within the context of school — where we are expected to sit still and think! So I think we have an interesting dynamic here in the programming world, because there are so many talented programmers who are very active. They did not do well in school because it was such a reflective-biased environment… so what do they do? While their reflective classmates got A’s and became CS professors, some of these active people dropped out of school and created a work environment that swings in exactly the opposite direction, and voila, we have an active-biased non-school programming culture. That’s a gross oversimplification, of course. But it’s interesting to think about it that way.
Teaching strategies for active and reflective learners
As I mentioned earlier, we tend to teach the way that we ourselves prefer to learn. The corollary to this is that we often find it easier to teach people with similar styles, and we tend to to be… less good, shall we say — at teaching people with styles different than our own, unless we pay attention to adapting to them.
I myself am an active learner. Hacker Schooler Bert Muthalaly is also an active learner, and during the workshop I called on him, unprepared, to give some anecdotes about his Hacker School experience. Active learners (if they’re not shy) tend to do better at this than reflective learners — improvisational audience participation keeps them on their toes. Active learners tend to be a lot more comfortable and good at saying things on the spot, asking questions right away.
As a teacher, my probes of active learners are designed to get them started. Sumana Harihareswara (also a Hacker School alumna) knows I’m super-active, so she will nudge me — “hey Mel, how’s the Hacker School book project going?” and BOOM! That’s the best way to get me working on that book again.
As a teacher, I also need to make sure my reflective students are learning. I would never, ever put a reflective person like Stacey on the spot like that. Instead, my probes of reflective learners are designed to encourage them to ship and share what they already have. “Hey, that’s a wonderful blog post. Could you summarize that in the middle of my talk tonight?” I also build thinking times into what I do, and make space for my reflective students to reflect. For instance, the 2-minute “think silently about a learning experience” litmus test from earlier in this post was an attempt to make some thinking time for reflective learners in the live workshop.
I’ll also frequently pose questions in my talks, then prompt people to think about them silently for 1-2 minutes. This is helpful for reflective learners, and awkward for speakers because it means you’re standing in front of everyone twiddling your thumbs for 120 seconds. But your audience is thinking, and they can’t think unless you shut up!
Sometimes I’ll do that silent thinking prompt for the reflective learners, then ask everyone to turn to their neighbor and share answers — that one’s for the active learners. And then sometimes I’ll ask if any pairs want to volunteer their answers for the whole group. This is a teaching technique called think-pair-share, and it’s a technique a lot of teachers learn, because when we’ve done education research, we’ve found that combination is effective. There’s something for everyone.
Another way I tried to get both styles into my workshop was the way I asked people to indicate where they were in the spectrum — there was a period of 5-10 minutes where I was not talking, because people were filing up and putting a sticker with their name on the wall to show where they were on the spectrum. The active people got to do something: write on a sticker, gather happily around the wall, help others put their stuff up, debate whether someone ought to be here or there — and the reflective people plopped their stickers on the wall and sat and pondered. Micro-breaks are good.
Pairing with active and reflective learners
This also applies to one-on-one things like pair programming, when you may not formally be teaching someone, but are mentoring or otherwise working with them. Give reflective learners the material to process beforehand — let them read your code in advance. If you’re reviewing their code, write notes on their code first, and send them those notes before you sit down to discuss it. Give them a list of questions to consider before you meet. Build in breaks and breathing spaces into your work time. Let them stop, go off by themselves, and read a book about your project until they’re ready to come back. And reflective learners, educate your partner to recognize and honor that you need these things.
In a way, it’s similar to extroverts learning to work with introverts. Your introverted friends love you, extroverts! They just need to recharge so they can be near you! Well… your reflective colleagues love you, active people! You just change direction so fast sometimes that they lose track of where you’re going, and how they can accompany you!
And when you’re working with active learners — let them run around! Give them things to respond to. Spit out answers fast, think out loud — they’ll often prefer something immediate and half-baked to something slow and totally baked, because they may not like the totally-baked thing you finish up, whereas if it’s half-baked they can jump in and help you shape it. It’s like the open source mantra of “release early and often.” Don’t worry about going down dead ends; they want to wander through that maze with you!
That was active/reflective. We’re going to go through the other learning styles a bit more swiftly. I’m taking more time to unpack this first spectrum so you get the idea of how to play with these ideas. The next post in this series will be about sensing/intuitive programmers.
This blog post series would not exist without the persuasion and gracious editing of Hacker Schooler (S’14) Maia McCormick, who convinced me to do better than “let’s just dump transcripts on the intarwebz!” Thanks, Maia — and everyone at Hacker School who exhorted me for the past year to record this talk! Further edits/questions/suggestions are very, very welcome; comment away!
What is it like to be a disabled academic? Tiring in a thousand tiny ways; you need to do invisible, unrewarded setup before every interaction, and the purpose of this blog post is to make some of that setup less-invisible. Since people found my conference access request email helpful, I’m presenting another one here — and unpacking/explaining the function of each section of the email as I go.
(Note: this is a long blog post; it’s very first-drafty. If you want to help me edit/revise this into a more polished piece, I’d love input.)
Hi there. I’m an American PhD candidate at Purdue University registered for both the FIE 2014 conference and 2 workshops (receipts #XXXX for registration and #YYYYfor workshops).
Function: “Hey, let me prove to you that I’m a paying customer. Pay attention.”
Further background: This email was written for the FIE conference, the most prestigious research gathering in my field of Engineering Education. This is an important conference for me; since I graduate next spring, this is my biggest opportunity to share my dissertation work before it’s done, and to talk with people about job opportunities after graduation. I also have 4 papers in as first-author, which is a big deal — for those unfamiliar with academia, “first author” roughly translates to “project lead,” and 4 papers would be a high count for a tenured faculty member — so 4 first-author papers for someone who’s still a student is pretty impressive.
The registration is under my legal name of “Mallory Chua” — Mel is the name I’m widely known by and publish under.
Function: “Here’s how you can find my records easily, because I operate professionally under a name other than my legal name.”
I am deaf and require disability accommodations. I noted this on my registration form (with a “please contact me so we can discuss arrangements” message) several weeks ago. Since I haven’t heard from anybody yet, I thought I’d start the ball rolling here, since the conference is in Spain and access to my usual methods of accommodation may be more complex than usual to arrange outside the USA.
Function: “I asked before, and haven’t heard anything; I will now makes it harder to ignore me.”
The fact that FIE is in Madrid this year is both wonderful (going to Spain!) and a complication for accessibility setup. I’m American, and the US has the Americans with Disabilities Act (ADA) which mandates accessibility for the disabled — meaning that things like interpreters are widely available across the country, because they’re frequently used. However, finding an American Sign Language interpreter in Spain? I have no idea how we’re going to do that, so I’m getting started early — the conference is in October, 3 months away.
At least Spain is a developed nation with some semblance of “disabled people, they can do things, and we have resources for them!” If I ever go to a conference in my family’s home country of the Philippines, or another developing nation where the usual attitude towards disabled people is “we can’t do anything for you, pitiful marginalized person — pretend to be normal and/or go away,” I don’t know what I’ll do. I’d probably fake being hearing (and miss most of the conference content while simultaneously being exhausted) or quietly decide not to go at all (and nobody will ever know why I didn’t) — these are the two options I used to choose between before I started going “wait, wait, access is a thing that I can ask for without being ostracized/ridiculed/seen as a not-serious researcher in my field, and I want to have it!”
Specifically, in addition to having notes/documentation in written form whenever they’re available, I’d like to request in-person CART (realtime trancription) or an ASL (American Sign Language) interpreter for the duration of the conference, including evening networking events. If I had to pick only one, I would prefer the ASL interpreter as it’s a more mobile/flexible option for conversations;
Function: “I realize you may be unfamiliar with this sort of request, so will concretely request exactly what I want to make it easier for you to give it to me, and easier for me to document my request-trail in case I need to push for this to happen.”
Note that “unfamiliarity with this sort of request” is a chicken-and-egg problem. A lot of disabled people don’t “make it this far” in their education, so higher ed is rarely set up to accommodate them… which makes it harder for them to get there. Since I’m one of the few deaf people to make it to a PhD (the average Deaf American adult reads at a 4th-grade level, whereas I write complicated research books), I’m often the first person of “my type” that institutions/colleagues have had to “deal with,” and spend a nontrivial amount of my time helping both sides (me and them) adjust to that. On some level, we all teach our colleagues how to deal with us; we don’t like morning meetings, or we do really well over email, or we use a Mac and can’t install a certain piece of research software — but I have Yet Another Thing to add atop this sort of stuff, which is that I can’t hear — and very few people I encounter know how to deal with that well.
Also, I don’ t know the answers to “how do we help you?” either — as a PhD student, I’m still learning what it means to do a PhD, so there’s a lot I don’t know about what I need to get through it! It’s as if you’d never studied Italian, and then someone asks you — in Italian — “how do you learn Italian best?” Again, to some degree, this is true for all PhD students (we’re still figuring out what helps us be good researchers), but whereas things like “how do I stay focused during the long, lonely days of dissertation writing?” are pretty common amongst researchers and can therefore be tackled via shared advice from classmates and advisors, my experiences of deafness aren’t shared by a lot of people, so I’m figuring it out on my own — and a lot of people don’t realize how much extra time/energy that takes.
…as you know, networking conversations about research are a huge part of the value of any conference, especially one with such excellent and high-level research as FIE.
Function: “I compliment your conference on being awesome. Recall that conversations are a huge part of that awesomeness. I need access to them as well.”
A lot of people forget that accessibility isn’t just about being able to hear the lecture — it’s the informal conversations afterwards where people make sense of the content, build relationships, etc. that make you part of a community. And I miss out on that a lot.
I need accessibility services from 2pm on Wednesday, October 22 (the start of workshops; I am attending workshops 1B and 2B) through the end of the conference at 6pm on Saturday, October 25.
Function: more clear specifications on my needs, because places will typically try to provide you with as little access as possible to pass a minimum bar. I understand this — it takes more resources to provide access — but the message that sends is “we are frustrated that you are here; you are not welcome in this space, we are grudgingly letting you in, as minimally as you can, because we have to.” Which is hardly hospitality.
I would be happy to connect you with my counselor at the Disability Resource Center if it would be helpful;
Function: trying to minimize the effort needed on both the conference’s side and mine. Arranging these logistics — and educating people as to what they are — is a nontrivial amount of work. I’m tremendously grateful for places like the Disability Resource Center at Purdue, who take a lot of that time/emotional burden off me so I can focus on things like “writing the methods section of a paper for my advisor” (which is what I’m doing today). It’s hard to focus on deep work when you don’t know if something important (“can I have access to the services that make my career possible to pursue?”) will be taken care of; nagging worries in the back of your mind are both draining and distracting. You could compare it to the instability of always being on a temp job (like some adjuncts) — there’s the constant stress of “will I have a job next year? I’d better be looking for work, ALWAYS” — except in my case it’s “will I be able to do my job next year?”
we did a very similar accessibility setup for the ASEE conference in Indianapolis last month with great success and could share the logistics/provider contact info with you. There were a total of 3 Deaf attendees, myself included, who benefited greatly from these accommodations.
Function: “This has been done before; this is a “normal” and “expected” thing to do, and it has a positive impact.”
Okay, so maybe it’s not “normal,” to “expect” this yet, but it should be. Create the reality you want to live in, right? To a large degree, this is why the ADA (Americans with Disabilities Act) exists — it sets a default expectation, and says “yes, you should ask for the help you need; you should expect people to accommodate you.”
Because far too often, they don’t. And I do not have the energy to argue with all of them. I’d rather spend my time and mental/emotional energy revolutionizing the way we redesign engineering curricula — which is a huge, hard problem that I have a unique capacity to contribute to — than to spend it struggling to understand the Q&A after my talk on redesigning engineering curricula, which is a burden Other People can lift from me. (There are plenty of “sucky things that come with being deaf” that other people can’t lift from me — I’m the only one who can deal with them, and I do. So when someone else can deal with it, OH PLEASE DO THAT.)
Ideally, everyone would accommodate people with disabilities without needing legislation to require them to do it. But… they don’t. This may sound entitled to some readers, but I am tired of relying on the “goodness of everyone’s heart” to be the thing that my career depends on. Besides, the same legislation often provides resources so the people who want to accommodate people with disabilities are able to do so. Also, ideally, everyone would drive sober, care for their kids, and not randomly shoot strangers without needing legislation to require it… but they don’t. Legislation doesn’t mean nobody ever drives drunk, but it sets the expectation that you shouldn’t, and provides a mechanism to help align society with that expectation.
Let me know how you want to arrange these details — looking forward to hearing from you soon!
Function: “The ball’s in your court. Do something. It’s an expectation that you do.”
We’re long overdue for an update on the Hacker School book. If you’re a Hacker Schooler who signed up for the first two rounds of data collection and analysis, my apologies for falling off the radar. Turns out I’m terrible at scheduling logistics — so I’m hiring a research assistant to help with that, and we’ll be rescheduling folks so we can get into the storytelling interviews we actually want to have. If you’ve signed up for the project in some way, you should expect an email by the end of July.
One of the biggest blockers has been a lack of training materials to jump-start interview sessions. What do interviews look like? How do you know what questions to ask? How do you analyze the stories your fellow Hacker Schoolers are telling? (How do we do any of this?)
Well, thanks to Hacker School alums Stacey and Stefanie, we now have a great demo interview. We’ll be using it as an example/training tool for analysis while I’m in NYC next week for my Hacker School residency. Instead of pair-programming with students like I usually do, I’ll be spending this residency with both local and remote Hacker School community members pair-analyzing and pair-interviewing to get the next round of data collection jump-started. We’ll run 2 full rounds of data collection/analysis as originally scheduled (July 21-August 17 and August 18-September 7) and get some stories out there.
(Thanks to Sumana Harihareswara for her project management ninjahood coaching/prodding, and the reminder that public updates are good. Sometimes it’s easy to forget the most basic things, but that’s why we have friends to remind us.)
Articulating my access needs for an academic conference has taken a long time to figure out, and I’m still wading through those waters. In case it helps others in some way, here’s an email I just sent; thanks to Mirabai for sanity-checking and courage to actually ask for what I need.
(in reply to a request for my conference schedule)
I do not have a definite schedule of my participation in the event; as a professional conference and networking function, a large part of the value comes from informal hallway conversations with colleagues, evening socials, and spontaneously being able to follow connections into/out of formal presentations.
What I need for full access is a CART provider assigned to me between Sunday, June 15 at 1pm through Wednesday, June 18, at 5:30pm. The CART provider either needs to follow with their equipment wherever I go or be prepared to go to wherever I text them on a minute’s notice and set up there. The CART provider and I can negotiate throughout the day to make sure they have sufficient break time (I am used to working this out with CART providers). Hours would be as follows:
- Sunday, June 15: 1pm (Pioneers project workshop) through 9pm (Purdue Engineering Education mixer)
- Monday, June 16: 7am (1st sessions) through 6pm (awards ceremony).
- Tuesday, June 17: 7am (1st sessions) through 10pm (ERM division social)
- Wednesday, June 18: 8:45am (2nd sessions; I will almost certainly skip the first session) through 5:30pm (end of last sessions).
Within this, the current schedule you have for me is a reasonable first guess as to where I might be and what I might be doing, but much of the value will come from unplanned interactions outside the current tentative schedule.
For my own talks and presentations, we do not yet have slides or other planned material. Honestly, knowing my co-authors and our travel schedules leading right up to the conference, it’s likely to be a last-minute thing. However, I’ve attached the two papers I will be presenting so the CART writer can get some idea of terminology, and I would be happy to coordinate with them over email, SMS, or chat beforehand to field any questions they might have. [Provider name] and some of her subcontractors have provided both remote and in-person CART for me the past 2 years and are familiar with the terminology and conventions of my field.
Let me know how we can set this up, and whether you have any questions. I’ve copied [my counselor] from the Purdue Disability Resource Center on this email so that everybody’s in the loop.
The goal of every Hacker Schooler is to become a “better programmer.” Given that I last wrote on Test-Driven Learning, I feel almost obligated to ask: “what does that mean exactly, and how could you assess yourself on it?” (Another wording, from Dave’s post: “What qualities of being a ‘good programmer’ could you aim for, and how would you know if you had them?”)
There is no one-size-fits-all assessment that would work for every Hacker Schooler — everyone has such different interests, learning styles, experience levels, and a wide splay over every other type of spectrum imaginable for learning programming. (Typing speed. Language preference. Shoe size.) Making a single pre/post test and foisting it on everyone would (1) fail miserably at assessing anything and (2) work against the intentional self-directedness* of Hacker School.
So during my Hacker School residency, several Hacker Schoolers and I sat in Hopper (the big glass-walled room at the end of the space) and brainstormed on exactly that question. Here’s what we have for starters, totally unsorted and only edited for spelling and clarity of terminology.
- length of Hacker School bio page
- number of git commits
- number of “merits” (a currently nonexistent, hypothetical arbitrary credit) given by other students
- list of acquired skills
- contributions to FOSS
- number of pairing experiences
- lines of code per project
- list of completed projects
- total lines of code blogged
- number of roadblocks overcome (subjective)
- happiness/satisfaction (subjective self-report)
- lines of code written without needing to consult external references
- how fast can you make this deliberately slow code?
- Project Euler time trials
- number of job offers
- number of friends referred
- ability to explain concepts to novice coders
- number of people helped
- understanding of software docs
- number of blogs
- hackathons attended
- number of followers in (git) repositories
- time wasted browsing other stuff
- length of time paired
- number of presentations
- ability to improve own code
- usefulness of programming blogs
- refactoring time trials (rewrite code to run faster, as fast as you are able to rewrite it)
- how many lines of code produced
- number of projects done as an individual vs collaboratively
- assessment from peer partner
- ranking of comfort with (programming) languages
- number of times you had to use a search engine to complete a task
- cups of coffee
- number of tweets on technical topics
- how many ways you can think of to code the same function
- total time spent with facilitators
- presence of test suites with code
- number of keystrokes
- hours slept
- debugging time trial
- results of code reviews
- number of git commits
- number of presentations delivered
- number of seminars attended
- number of seminars given
- number of new tools learned
- reading pseudocode
- ability to follow directions
- writing a program from scratch
- alum application reviews vs facilitator observations
- average length of (git) commit
- number of alumni contacted
- independent rating of CV by HR people
- can someone else independently compile & run your project?
- on a scale of 0-5, how confident do you feel as a programmer?
- number of interviews
- frequency of git commits
- number of questions asked of residents and facilitators
- frequency of code revision
- how many errors can you spot and fix in this deliberately broken code?
- time to fizzbuzz solution implementation
- how many technical words on this list can you explain
- grade on open courseware CS class final exam
- Zulip (Hacker School internal chatroom) lines with ? (question marks) in them
- heart rate/stress response during Jess McKellar’s most technical talk
Further ideas quite welcome.
*Tom also pointed out that a pre-test would “prime” students to learn certain things and could dramatically affect their pathway — for instance, if the pre-test had a bunch of CS theory, students would think “oh, I should learn CS theory!” and veer off in that direction, which could be positive or negative (but would most definitely skew the study results). He wondered if we could make pre-assessments that “primed” for certain… habits of mind, for lack of a better term, rather than content.