Some of you may recall that I told Ashley about rubber ducking. Now she has bought a fleet of small rubber ducks for her entire coding in biology class so every student gets one (all typically students who have never programmed/are often very intimidated by learning to code). They're pretty excited.
This may be my biggest contribution to the future of coding.
I love that this resonated. You can read one of Ashley's open access papers on the experiences of students learning to program in biology here!! She has designed every piece of the discipline-based programming curricula in biosci at UCSD with incredible care and service to these students.
Now she's like "why didn't you tag me for the rubber duck cred " (BECAUSE I DIDN'T WANT TO BOTHER YOU WHILE YOU WERE TEACHING) Ashley is @analog_ashley
@grimalkina I’m shaking up the courses I teach after this semester; I’m desperately hoping to teach a programming course for non-CS students and if I land it I am absolutely bringing rubber duckies for everyone
@magsol @grimalkina yesssss do it! this was super fun; i'm going to ask students to report back on what they talked to their duckies about (with pictures, obviously)
@grimalkina I bet that class is a *blast*.
@grimalkina best! I once did this at an advertising agency cos the idea of clients coming in to the office and seeing a room full of people deeply engaged in conversation with bath toys really appealed to me
@grimalkina loved when Idera used to give them out, idk if they still do https://blog.idera.com/database-tools/history-of-the-idera-duck/
We will revolutionize the software development industry!!!
...
[Image is from https://www.summitexpress.com/2019/08/great-rubber-duck-race/ ]
@grimalkina In all the years I've been married, the ONE* thing about programming she remembers from me waxing on about work was rubber-ducking ( or explain it to the teddy-bear)
She uses it against me now.
<slow clap>
* probably not true, she's very smart and PAYS ATTENTION!
@grimalkina It's good to have a legacy!
@grimalkina that's awesome :3 my computer science teacher kept a box of stuffed toys for rubber ducking (though usually more for emotional support...)
@grimalkina I don't think it will be, Cat.
I, personally, rubber-duck to a) my dogs, b) my spouse, c) my private slack, d) mastodon.
I own no actual rubber ducks.
But that's actually neither here nor there, cuz I don't think, Cat, that this is the end of your career as a shaper of future coding. I think you're a rock star, and I think you have already and will do more to change the shape of our understanding of this enterprise.
@GeePawHill ambushed by this sincerity thank you!!
@grimalkina Ah yes, rubber ducks are good, but nothing tops feline problem solving when they are in the mood. Here’s Harry working on a particularly difficult issue I had…
@grimalkina that is ADORABLE
@cate @grimalkina oh that's great!
@grimalkina I should have got you an Overleaf rubber duck! They became the official mascot after they made a bunch for a marketing session at Imperial.
Mine still sits on my desk!
@fortythieves new goal
I love that idea.
Just googeling how much rubber ducks costs and thinking about giving them away (starting next term) to my students (mostly civil engineering).
@doppelgrau @grimalkina i was pleasantly surprised (and also simultaneously mortified) at how much 150 ducks cost me
@grimalkina
Don't forget the opposite method, which might be called "distracted processing". You go and think about something else for a while and let the subconscious mull it over for a while.
I recall sitting for a CS exam. I read the first question and thought, "no idea". Similarly for the other nine questions. I was feeling a bit depressed, but went and reread the first question and knew exactly what to do. I ended up answering all the questions correctly.
The extreme version is sleeping on the problem, but that is not recommended in a work environment.
@ocratato extremely important! It's about cadence, not grinding!
Yeah this works. I'm retired from having to think for money now. But back in the day... doing the washing up was often my most productive activity.
I do crosswords for fun. And as I learned from my father, and any crossword enthusiast will say, if you're stuck, go away and do something else for a while. When you come back, you'll see stuff you'd missed before.
This always works.
@grimalkina @analog_ashley y'all are such a talented family. Seriously.
@grimalkina @analog_ashley great work Ashley! I love that you're making coding accessible and fun and a literal rubber duck also brightens the mood. Here's your cred
@shom @grimalkina thank you!!! in our last class i asked if anyone had their duck with them and several students raised them up into the air, it was so delightful.
@analog_ashley @shom @grimalkina
I'm not a programmer and hadn't heard of this before, so had to search. So sweet.
I know from experience as the best maths student at my secondary school (unpaid) and supervising undergraduates as a postgrad (paid) that teaching is the best way to consolidate one's own understanding.
I've heard that for little kids, reading a story to a dog is great.
This is the first time I have come across the idea being applied to a "student" that isn't even alive.
@regordane @analog_ashley @shom @grimalkina
Yes!
From personal experience, I agree that teaching improves one's own understanding of a topic.
In my case, I taught "C" language programming at a local community college while in the US Air Force and it helped me secure my first civilian job after my service.
8- )
@analog_ashley @shom @grimalkina
Wow! I've seen some references to "rubber ducky debugging" and this thread prompted me to "look it up"!
As a long-time computer software developer, "rubber ducky" resonates with my personal experience, although I used my colleagues instead of a "desk assistant".
E.g., I encounter a problem and can not make any progress. I start explaining the problem to them and, half-way through, I discover my next step.
Several of us would do this often enough that we graciously listened to each other until the "light-bulb flash"!
I had attributed this to engaging different parts of my brain which only speaking & hearing seemed to activate.
This is super cool to learn that this is a common phenomenon, so much so that some book-writers have published the "rubber ducky" as a "desk assistant"!
I imagine that "pairs programming" overlaps this approach.
Thanks for sharing this!
8- )
Cheers, Bob
@analog_ashley @shom @grimalkina
How wonderful that they had their "desk assistant" with them!
8- D
I am so glad to read that this technique has helped non-CS students develop their programming skills!
:- )
@grimalkina this is so motivating that I am currently looking into printing custom rubber ducks for next year
@analog_ashley @grimalkina I stumbled upon a dedicated rubber duck shop once in Lisbon. It was glorious.
@analog_ashley @grimalkina Hee Hee, this is great! I got one of these a few years ago from @thecarpentries
@grimalkina
This next bug is gonna require the Devil Duck, or maybe the Batduck if I'm lucky.
Talking to myself as a job skill, woohoo! The voices are merely consultants.
@grimalkina
Back in the 1960s my father called it the "Rubber Dummy Theory" and implemented it with an actual rubber dummy in his office. It had two medals "Hero of Debugs 2nd Class" and "Hero of Reactor Theory" (the latter lost long ago.)
He did his programming in Fortran on punchcards in the Reactor Safety Department.
It has deteriorated over the years but is surprisingly still inflated despite being left in a closet since he retired in the 1980s.
@cptbutton this is incredible
@grimalkina This is the Way.
@grimalkina this is so many kinds of awesome I absolutely love it.
I left my duck (named cutie patootie) behind in Spain when I was there in a hack. I hope it’s inspiring someone else now.