So, five years ago (really! that long ago?), I got tired of teaching the Programming Languages class out of Sebesta and decided to try something new. So, I used the book “Seven Languages in Seven Weeks” (https://pragprog.com/book/btlang/seven-languages-in-seven-weeks) as the course text.
It was, well, an experience.
Nevermind that the book that was due to be published on August 15 finally showed up in November. In fact, I counted that as a positive (in an “if life gives you lemons” way) since students got to experience how many professionals get their books on new topics with programs like Beta books, Early Release, and MEAPs. And we all liked the much lower price than traditional text books and PDF version that students could carry around easily.
But for years, I’ve been lectured about how lecture is the wrong way to teach classes (trust me, the irony was not lost on my, but seemed to be on the people lecturing me on not lecturing). You should be “the guide on the side” not the “sage on the stage.” And, despite my desire to learn as much as I could about these languages, all seven of them, I soon realized that the student questions and errors would far outstrip my knowledge of the languages. So, I really did become the guide and soon added an assignment where the class would get points for figuring out things I couldn’t. That made us all happy too–they got points and I didn’t have to figure things out.
What was particularly great about the book is that the languages were not your typically Java, C++, C#, C, blah, blah, but included some that really required new ways of thinking. Yes, some students still growl at me about Prolog 5 years later, but once you get it, Prolog is a bunch of fun. Really. Trust me.
And even better, the book didn’t just do “Hello World” in each of the languages. It focused on examples that demonstrated the different features of each language. When we were adding functions to the built in integer class in Ruby in the first week, students knew to hold on tight, it was gonna be an interesting ride. (Especially when you consider most of the class had never had any experience with scripting languages, so just simple Ruby and the REPL was a bit of a shock to the system.)
It was much like a white water rafting trip. I felt battered at the end, they were certainly battered, but if you like that kind of thing, it was a lot of fun. Still I rushed back to the safety (and cruise ship stability) of Sebesta the next year. Turns out, I shouldn’t have rushed for safety quite so fast.
In listening to the students who took the course at their exit interview much later, it was a great experience and the favorite class in the curriculum for a lot of them. They really appreciated the skills they developed in the class and the exposure to so many new ideas. They realized it would be sorta useful in their futures. (It doesn’t hurt that I had some fabulous students in that class either-yes, you Travis and Levi! And yes, you others who don’t live within 10 miles of me.) So I did it again (with a bit more guidance) in 2013 and had planned on doing it with the follow-up book (titled, duh, “Seven More Languages in Seven Weeks”, https://pragprog.com/book/7lang/seven-more-languages-in-seven-weeks). While I may have fooled some students into thinking working with a language that was not supported was a way to appreciate the support languages other than Io received, it was time to try something new.
But instead of teaching this fall, I’ll be doing something else. (Please don’t ask what or why without planning on offering a job interview or adult beverages.) And one of the many things I’ll miss is not having the chance to do seven more languages.
Still, as I was teaching from Seven Languages, I found the experience of others who blogged it) to be very useful. The work of Yevgeniy Brikman at http://www.ybrikman.com/writing/tags/#Seven%20Languages%20in%20Seven%20Weeks was especially useful. And since I still haven’t figured out what something else is going to be, it seemed like a good time for me to work through Seven More Languages on my own and record the experience here. It won’t be as useful an experience without students to ask questions I never would think of, but I do still carry a lot of student questions with me, so we’ll see what kind of trouble I can get into on my own.
Leave a Reply