alexr_rwx: (eleven zeppelins)
[personal profile] alexr_rwx
Hey, so, this course I'm teaching in the Fall. It's real; it's happening. There are 29 students signed up for it.

I want your wisdom about classes. What was the best course you took as an undergraduate, or took at all? What do you think made it the best?

Moreover: what do you think about having little intermittent non-graded quizzes, once or a few times during a class? I'm imagining something like the quizzes in the Coursera lecture videos: "if you understood the last five minutes, you should be able to work this out". They're typically multiple choice, which I like.

Also moreover: for mid/upper-level undergrad classes, tell me all your thoughts on course projects. Lindsey has pointed out that term projects are often terrible, especially if left unconstrained. My mental model is that an NLP course should have a course project, and it's OK if they turn out badly. But reflecting on this, a bad course project can be demoralizing...

Thoughts and considerations?

Date: 2012-06-19 07:00 am (UTC)
ext_110843: (deus ex machina)
From: [identity profile] oniugnip.livejournal.com
Oh! And most importantly: for an AI class, is it cool or dorky or dorky-cool to have GLaDOS (http://upload.wikimedia.org/wikipedia/en/b/bf/Glados.png) on the course webpage? There's precedent for HAL (http://www.ark.cs.cmu.edu/NLP/)...

Date: 2012-06-20 02:46 am (UTC)
From: [identity profile] bubblingbeebles.livejournal.com
i would do it.

Date: 2012-06-22 12:52 pm (UTC)
From: [identity profile] schizobovine.livejournal.com
Have the students pick their favorite murderous AI! It'd be like Harry Potter, but throw in some cage matches to make it fun. #badIdeas

Date: 2012-06-19 03:57 pm (UTC)
From: [identity profile] alec story (from livejournal.com)
Course projects seem sensible for an NLP class, and mine had the same "it's ok if it sucks" idea, but if you do that, it's really important that you *do* establish what you're looking for and what you're grading on, preferably with a public rubric.

If you don't do this, it's really hard for your students to know when they can stop stressing out over their non-functional thing they spent the last month working. That's awful. You feel bad, and it keeps sucking up time.

As for quizzes, one class I took last semester had these little "i-clicker" things, which were a pain at first, but let us vote on things in class and answer little quizzes. Ours were basically counting attendance, but it really improved participation and engagement since you had to answer something, but the answer didn't matter. (This class was also very sensory based (wine), so it was useful to see how peoples' perceptions varied across the class)

Date: 2012-06-20 05:59 am (UTC)
ext_110843: (Pyotr Alexeyevich Kropotkin)
From: [identity profile] oniugnip.livejournal.com
If you don't do this, it's really hard for your students to know when they can stop stressing out over their non-functional thing ...

Really good point, yeah. I think providing early feedback could mitigate the danger here...

I don't think the class is big enough to warrant clickers! I think when I first heard about them, I thought it was kind of crap (did you have to buy the clicker?) -- maybe I'll just have the students close their eyes and raise their hands if they got it right, honor-system-wise.

Date: 2012-06-22 12:57 pm (UTC)
From: [identity profile] schizobovine.livejournal.com
Buying them sucks, but I did like them for taking-attendance-caliber-quizes. Paper-anything can be a pain to keep track of.

Does Indiana have a student laptop policy? If so, you could ask them to bring theirs and do some kind of web-form quiz as a replacement. Probably cheaper/easier to administer, too.

Date: 2012-06-20 01:17 am (UTC)
ikeepaleopard: (Default)
From: [personal profile] ikeepaleopard
Course projects are okay. That is always where I learned the most things, but you need to have really clear grading criteria, approve the projects before they get started, and check in often. Also the things I learned were often not the actual course material and if they're group projects then you have to be ready to deal with the drama of group projects.

My best class ever was operating systems which was basically a semester long project course, but everyone did the same project and it was exquisitely constructed.

I found classes that were a series of two week assignments had a good balance between depth and chaos. Especially if they're hard enough that after the first one the students realize they need to start ahead of time, but not hard enough that they need to spend all their time on them.

Quizzes are fine as long as they're non-graded. It's a good excuse to sort of sit back and make the students actually think about what you're talking about. I know that generally I don't really process lectures until it's homework time unless something forces me to.

Anyway, good luck. I am super jealous that you're teaching.

Date: 2012-06-20 02:48 am (UTC)
From: [identity profile] bubblingbeebles.livejournal.com
My best class ever was operating systems which was basically a semester long project course, but everyone did the same project and it was exquisitely constructed.

*proud* (not that i was on staff until long after you took it, just that it keeps getting better)

Date: 2012-06-20 06:02 am (UTC)
ext_110843: (toasters)
From: [identity profile] oniugnip.livejournal.com
My best class ever was operating systems which was basically a semester long project course, but everyone did the same project and it was exquisitely constructed.

Yeah! Lindsey's been really excited about the compilers class at IU, which is exactly of that description, and you write a compiler for Scheme.

Maybe a really simple machine translation system would be an OK semester-long project. I don't think I'll do that, though, because I want to have some homeworks on a variety of topics. And MT deserves to be its own class.

Date: 2012-06-20 03:09 am (UTC)
From: [identity profile] bubblingbeebles.livejournal.com
ooh, teaching :)

I really, really like the bit you wrote about people running each other's projects. (I worry about corner cases, though - what if a group makes a project that doesn't work?)

What was the best course you took as an undergraduate, or took at all? What do you think made it the best?

Apart from OS, which akiva mentioned already, compilers was great. it also had a bit of the "everybody does the same project" structure, but what made it great on top of that was, for each lab, each partnership had to submit a suite of custom test cases on top of the minimal provided suite. then all compilers would get run with all student test cases. this improved learning only by a little bit, but improved fun by a ton. (among test cases i submitted: ascii art in source code (http://bblum.net/home/bblum/compilers-tests/brachiosaurus-twiddle-stress.l4.html), port of a chess engine (http://bblum.net/home/bblum/compilers-tests/brachiosaurus-milli-max-chess-test.l4.html), port of the 'sl' utility (http://bblum.net/home/bblum/compilers-tests/brachiosaurus-sl-d51.l5.html), and hunt the wumpus (http://bblum.net/home/bblum/compilers-tests/brachiosaurus-wumpus.l5.html). compilable c versions are in the same directory (http://bblum.net/home/bblum/compilers-tests/) there.)

So, see if you can get students to write tests for each others' assignments, if you have coding projects.

what do you think about having little intermittent non-graded quizzes, once or a few times during a class? ... They're typically multiple choice, which I like.

Need some incentive. I was gonna say make them graded and take-home, and really really easy, and post them online so absentees can do them (to force them to read the lecture notes!), but then you have no way to stop cheating.

You could collect them and grade them each time, and be like "For each one of these quizzes, if you get everything right, you get 2 bonus points on the midterm." Then give out 5 or so over the course so students won't be bummed when they fall short.

tell me all your thoughts on course projects

Course projects are hard, but can make a good class better. Is it a grad or undergrad class?

Expect some students to have bad projects; even expect some not to know how to do a course project at all. Provide a list of project ideas they could use if they're stumped. Set up checkpoints, progress report deadlines. Ask them at the beginning to make a roadmap including goals for 75% (if something goes wrong what they'll fall back on), 100% (target), and 150% (if the target turns out to be easy).

I will also be teaching (http://www.andrew.cmu.edu/course/98-172/index.html) in the fall! Most of this class is pre-canned, so all I have to do is lecture, but I also want to redesign a bunch of the lecture to emphasize debugging skills. Ask me about teaching & lecture design in person; it's currently terrifying and impossibly difficult for me, but I love it. ^_^;
Edited Date: 2012-06-20 03:26 am (UTC)

Date: 2012-06-20 06:05 am (UTC)
ext_110843: (jacked in)
From: [identity profile] oniugnip.livejournal.com
It's an undergrad class. I'm definitely going to have a list of possible projects, yeah!

Those are all really good suggestions, about checkpointing and intermediate and stretch goals!

You're the course instructor for this class? Rad!

Date: 2012-06-21 08:01 am (UTC)
From: [identity profile] bubblingbeebles.livejournal.com
yes. in self-deprecating speech i would say that i am just being a figurehead. this guy who's also starting the phd program with me conceived the class sometime last year, and apparently like half the CS freshmen took it or something incredible like that. we have 4 tas for the fall :O

Date: 2012-06-20 10:47 am (UTC)
lindseykuper: Photo of me outside. (Default)
From: [personal profile] lindseykuper
each partnership had to submit a suite of custom test cases on top of the minimal provided suite. then all compilers would get run with all student test cases.

This is how Dybvig did the IU compilers course, too (except we were working on our own, not as partners). Aside from being fun, I think it actually did a lot for learning, because assignments were due weekly on Sunday night, but the test cases (which had to exercise some new feature that we were adding to the compiler that week) were due the previous Wednesday, so it forced people to at least get some early understanding of what they were supposed to implement. If we hadn't been forced to do that, I know I would have put it off until the weekend and run out of time more than once.

Date: 2012-06-22 01:58 am (UTC)
From: [identity profile] sajith.livejournal.com
Hey Alex, have you seen this? :)

Image (http://www.flickr.com/photos/sajith/7417442418/)

Date: 2012-06-22 04:18 am (UTC)
ext_110843: (happy robot)
From: [identity profile] oniugnip.livejournal.com
Haha, yeahh! I was there when that got written. The purple text is my handwriting. Red text is cswords, I believe.

That's not still on the board, is it?

Date: 2012-06-22 04:26 am (UTC)
From: [identity profile] sajith.livejournal.com
I thought the handwriting(s) in black and purple looked strangely familiar. :)

Took this picture in April. It disappeared after a few days, I think.

Date: 2012-06-24 08:14 pm (UTC)
lindseykuper: Photo of me outside. (Default)
From: [personal profile] lindseykuper
I think the black is also cswords!

Date: 2012-06-22 01:09 pm (UTC)
From: [identity profile] schizobovine.livejournal.com
Operating systems already got mentioned, but probably my favorite class was the UI I took with you and [livejournal.com profile] pyrona. Perhaps it was just that our group was so awesome, but the projects there actually taught me a lot of stuff, despite how easy they were. It was the only class where I learned about human subject protocols and all that -- good to know, even in industry, as user surveys will almost certainly come up.

The idea of a continuous project that gets tinkered on the entire semester is pretty appealing. However, if someone gets stuck on one milestone, you don't want to fuck them for the rest of the class. CS 3210 back at Tech managed this by having the projects be modifications to a (much) larger one, that being the Linux kernel. Not sure if you can do that for NLP, though.

One idea might be to make the entire class a "project group," if you will. Each assignment would be a set of components, and teams could assemble based on which part they're interested in. This allows some group switching up to deal with drama and gives the whole class a feeling that they're building something Big. By the end of the semester, you'd want to assemble all the components into a working system.

This may also be a Terrible Idea, like the AI cage matches.

Also, huzzah on teaching! I cannot imagine a former classmate I'd like to have a professor more. :D

Date: 2012-06-24 08:03 am (UTC)
ext_110843: (mighty penguin)
From: [identity profile] oniugnip.livejournal.com
That was kind of fun, that HCI class :)

Building a big piece of software out of the work done by the whole class would be *amazing*. It also sounds really difficult to orchestrate, though, especially such that each student learns something useful. I think I'd have to design the whole thing at an abstract level first (or just build it myself), then chop it up into bite-sized pieces...

Also, huzzah on teaching! I cannot imagine a former classmate I'd like to have a professor more. :D

Awww! Thank you! That's a huge vote of confidence.

Profile

alexr_rwx: (Default)
Alex R

May 2022

S M T W T F S
1234 567
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 15th, 2025 03:51 am
Powered by Dreamwidth Studios