I have been feeling bad all semester for the students who signed up for my data science class because they enjoyed my games and learning one. I’m the same professor in both, but games and learning is very fun-focused and sociocultural, whereas data science is a firehose of stats and coding.

Helping a student distinguish between backticks and single quotes and remembering the 8th grade keyboarding students from a decade ago who complained that I made them do code in a class they thought should be about learning to type properly. Gotta do the latter to do the former.

I’ve said it before, and I’ll say it again: Nothing reminds me as much of teaching French as does teaching programming. It takes a lot of the same metacognition to learn both, and it’s really hard to teach that metacognition.

Update: I’ve figured out the basics of the Habitica API, and now every feature that isn’t native to the service is a challenge to up my programming/Siri Shortcuts game.

draft syllabus statement on code, plagiarism, and generative AI

I’m spending a chunk of today starting on revisions to my Intro to Data Science course for my unit’s LIS and ICT graduate prograrms. I’d expected to spend most of the time shuffling around the content and assessment for particular weeks, but I quickly realized that I was going to need to update what I had to say in the syllabus about plagiarism and academic offenses. Last year’s offering of the course involved a case of potential plagiarism, so I wanted to include more explicit instruction that encourages students to borrow code while making it clear that there are right and wrong ways of doing so.

I have never needed to write a recursive function in any of my (admittedly quite limited) professional programming, but when messing with kiddo’s robot today, I remembered the concept from a Java class in college and pulled it off in block programming. Pretty happy with that.

thank you, Seymour Papert

This morning, kiddo was pretending to be a robot, so when I needed her to switch her attention from, say, getting dressed to brushing her teeth, I’d have to pretend to “reprogram” her before she’d cooperate. This got me wondering if she was maybe old enough to try some basic programming activities—something like LEGO Mindstorms. I think that she’s probably still a bit young for that sort of thing, but it made me excited about doing this sort of thing in the future.

Generally, I discourage my intro to data science students from tackling questions they can’t answer at their level of programming, but sometimes I get so interested in the question that I end up writing the code for them so I can see what they do with it.

Today I learned that if you replace code that’s held together by other code serving the role of duct tape with actual good code but forget to remove the metaphorical duct tape, the good code still doesn’t work.

I learn a lot of ggplot2 responding to reviewers’ suggestions about plots and a lot of CSS helping students with their questions about Twine games. Turns out I only learn code when I have a project that forces me to.

One of those afternoons where I’m auditing someone’s analysis code, but it’s an analysis of 4M rows of data, so I’m also doing spurts of grading while I wait for code to execute.

When I taught keyboarding, students complained about HTML lessons, asking what it had to do with typing. I explained that if you mistype things, you break things… I’m sure they laugh now every time I bork my website w/ a misplaced line break.

Today’s manuscript revision fun is detangling the results of a coding error that left out 3 hours and 56 minutes worth of tweets from my analysis. Just enough to make some very small differences in reported results.