Sighing to myself as I try once again to orient myself in the midst of a 30-page article on an educational study — one that has section headings and everything, and is pretty well organized, but still is a bear to read.
Research articles should have a table of contents. Jeez.
When I’m in charge, were adding that to the style guide.
Setting up a prediction activity. This is a classic technique for Science classes, where labs and experimentation are part of the process. But it should work really well for Math and CS too, where the algorithm/formula/steps are complex enough that students have to do some mental gymnastics to go from seeing them on paper to knowing what they will do.
What to do:
Activate the students’ prior knowledge, as needed.
Show the setup of something new. Don’t execute it yet.
Ask for predictions. Probe for understanding of the details of the setup and the underlying concepts at play. Discuss in small groups and/or large group, and record the students’ ideas visually as per usual technique.
Execute the program/problem/algorithm, and confirm the results.
Was the outcome understood? Which theory “won”?
Go through this cycle with a well-chosen case, and then do it again with new inputs–maybe once or twice more with inputs that you choose for specific reasons (they generate good illustrations, highlight edge cases or unintuitive results, etc.). Then repeat a few times with the students suggesting the inputs. Repeat until everyone is able to predict together how it will behave.
Allow students to give you crazy inputs. Don’t think too hard about what the result will be, and (unless it’s too crazy) don’t say “no” to a student’s suggestion. The idea is to (a) let go of the usual tight curricular control that we usually exercise, and (b) to help the students poke and prod the concepts you are illustrating.
The overall cycle is: Input > Predict > Execute > Discuss
The teacher holds back his/her own knowledge of the outcome.
Teacher draws thinking out of the students, builds ideas before executing, gets them to reflect and understand after the execution.
Teacher embraces unknown, novel, or surprising results.
Teacher relinquishes control over inputs and problem design.
Have students in groups. Each group creates a programming challenge for the next group to solve. They have to come up with something that’s within the class’s ability, using the blocks and techniques they’ve all learned up to that point. Ex:
Make the sprite draw _______.
Make the sprite do _______.
Animate a conversation about ____ with appropriate costumes.
Each group formulates a challenge and passes it to the group to their right. They receive a challenge coming from their left, and they have to carry it out.
It’s great to solve a challenge… but it’s an even richer task to think up a challenge. You have to see through it, understand how a person might go about it, understand where the pitfalls are (or maybe intentionally place some). That’s good meta-cognition.
Yesterday our Kids Code Jeunesse founder and chief badass Kate Arthur chatted on Montreal local tv with Richard Dagenais. Great interview — I think Kate did a good job positioning code as a common everyday medium that anyone can (and ought to) get a taste of and put to use, even without becoming a programmer. And maybe some folks in the audience will come away a little less intimidated by learning to code. 🙂
Cited in the interview: our partner codecademy, who has a great lineup of well-documented, self-paced lessons in a variety of coding platforms. (Seriously, check out their HTML + CSS sequence. It’s not perfect, but they align well with my axioms of programming instruction. It’s a very good entryway for kids and newcomer adults.)
The Education seminar I’m enrolled in right now is a lot of fun, but is occasionally mind-bendingly self-referential.
It’s easy enough at the surface level: we (a mix of MA and PhD students) are learning what makes teachers effective. The trick is that we’re working on this practice NOT in order to teach K-12 students, but in order to teach teachers.
Here’s a fascinating take on the STEM imbalance from University Affairs: the major dynamic may not be sexism or any other institutional intent, but the accumulation of simple economic choices at the individual level. And the solution may be more background than foreground. Intriguing, no? Continue reading Male-female imbalance in STEM comes down to economics?→
The conversations I tend to be involved in about underrepresentation in the technology world are about the gender divide. At Kids Code Jeunesse we’re very conscientious about designing our activities and honing our pitch so we include girls. And in my own reading and thinking (probably colored by who my 2 oldest kids are) I pay particular attention to the ways we can make technology and “computational thinking” accessible to girls.
There’s lots of interesting stuff to think about there: which applications of tech are likely to appeal to girls (and yeah, they are different than for boys); how to teach in a way that resonates with the expressive side of a kid, rather than the purely rational side; and more.
But of course there are other divides too, and here’s a great story out of Baltimore about a year-round code camp directly targeted at minority boys: the Minority Male Makers Program(via npr.org). It’s being rolled out at a handful of Historically Black Colleges in the American south that have engineering schools: Morgan State U., North Carolina A&T State U., Jackson State U. and Kentucky State U. as of summer 2015. Guided by undergrad students at those schools, these kids get to design, engineer, 3-d print, and code their own ideas and products.
They’re reaching kids at middle school age. They rightly point out that this is their last shot at reaching kids before their path toward adulthood (and higher education and professional life–if any) starts to solidify and accelerate. Influence them here, show them it’s possible to be creative and use their brains for good, hard things, and you stand a good chance of influencing their choices in next few years. And then they’ll be on a good, productive path.
They’re letting the kids make real things starting right now. With programming, modelling software, and 3d printers in the classroom, this is tinkering with real stuff. Look at the press release and see that these kids are walking out of the classroom with the objects they’ve made. There is no 4-year lecture-driven book learning period, no extended apprenticeship standing between their adolescent selves and being real-world-productive.
They’re looking specifically for kids who show signs of being disengaged and bored in class. They know that disengagement isn’t a sign of being stupid; it’s a sign of needing a more active, hands-on learning method than the school is set up to deliver.
And the NPR article suggests that, rather than opening it up for open registration, they are asking school principals and counselors to bring them students. This is a great way to (1) encourage administrators who are engaged with their students and know them well, and (2) sidestep the self-selection that attracts self-motivated geeky boys to code camps. We have plenty of those already. 🙂
Bootstrapping the talent pool
I love seeing programs like this, and the overall philosophy is what attracted me to the Kids Code Jeunesse team. All programs of this kind are trying to bootstrap the tech talent pool in a very conscious way. Malcolm Gladwell might say these are ways to solve our talent selection problem, our “quarterback problem.”
If we want to change the complexion of the tech industry and what it produces, it will have to be through initiatives like this: initiatives that intentionally reach everyone, or that intentionally reach underrepresented groups.
If we can keep those going, the tech industry will not only look different in its makeup and its atmosphere; it will start producing output that’s better and that speaks to a wider range of people.
Introducing…. Mike’s Axioms for Computing Instruction.
As I do more and more teaching and lesson writing, I’ve started collecting the gemmiest of my design principles.
Little by little I’ll record them here in the blog with some examples and the reasoning behind them, and hopefully they’ll be a useful reference for me and others. As I deepen my formal knowledge and gain more hours of practical experience, I’ll come back and elaborate or revisit.
The week of May 17-24, 2015, students from across the US are invited to play a (everyone outside the US too, but they’re not eligible for prizes). Challenges include cryptography, reverse-engineering, and reconnaissance. Continue reading CS Capture the Flag 2015→
One of the things they get most excited about–especially, he says, the girls–is cryptography. They think it’s really cool that they can use their just-beginning programming skills to reverse-engineer passwords and crack codes and stuff like that. Continue reading Crypto for high schoolers→