jducoeur: (Default)
[personal profile] jducoeur

Got home last night from California, where I spent Thursday and Friday teaching a new course on Concurrent Scala. (We'll eventually get that listed on the company website.)

It's been an interesting experience. While I've done a fair amount of Scala teaching (both in conferences/Meetups and officially through Artima), and of course I've been teaching dance and stuff forever, this is the first time I've taught a whole programming course that I wrote largely on my own.

In general, I think it went pretty well. Some students thought parts were too elementary, while others thanked me for covering the basics, so I think we got the level-set about right. I didn't see too many people yawning, even through the epic three-hour talk on Friday morning, so I seem to still be pretty good at holding folks' attention and explaining stuff. It was a good class: larger than I'd expected, with a good deal of give and take with the students. As with dance, a lively group makes teaching a lot more fun.

The only serious fail came during the second day's Project Time. For this advanced class, instead of our usual approach of alternating short talks with half-hour blocks of formal exercises (with unit tests to check whether your answers are right), I instead did much more in-depth talks, and then had the students pair-program on less-formal projects. Basically, I gave them an initial skeleton app, and a stack of stories, which they were then to go off and implement. At the end of the day, we got volunteers to come up and show what they had written, and had the whole class talk about it.

All of which went fine until most of the way through Friday. Since it was a dead run getting the class finished, I hadn't gotten around to actually working through the projects myself -- after all, I knew the topics deeply, so I was confident it was all doable. Only I'd trusted the documentation while I was writing the skeleton app -- and as we all know, documentation lies. So the skeleton was actually misconfigured for what I had assigned them to do, and we lost half an hour during the projects figuring out the correct config settings.

But all in all, as fails go, I'll take it -- for the first run of a course, that wasn't too embarrassing, and I'm going to go fix it this week, so it's ready for next time.

And with that survived, I now get to do stuff that's a little less insane for the next couple of weeks...

(no subject)

Date: 2018-02-12 01:21 pm (UTC)
metahacker: A picture of white-socked feet, as of a person with their legs crossed. (Default)
From: [personal profile] metahacker
Is there non-concurrent Scala?

(no subject)

Date: 2018-02-12 11:01 pm (UTC)
metahacker: A picture of white-socked feet, as of a person with their legs crossed. (Default)
From: [personal profile] metahacker
Ah, yes. I've been doing so much time in single-threaded languages I wasn't thinking that Scala supported actual concurrency. (Which is silly, given its Java heritage.)

I found the Concurrent Programming In Java book invaluable back when; wonder if he's updated it in the last five years two decades o god time how does it pass.

(no subject)

Date: 2018-02-12 03:55 pm (UTC)
drwex: (Default)
From: [personal profile] drwex
Fascinating. Sort of makes me simultaneously sad and glad I got out of programming when I did.

Congrats on getting through it, though. I know how much work designing a course can be.

Profile

jducoeur: (Default)
jducoeur

May 2025

S M T W T F S
    123
45678910
11121314 151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags