teaching in the fall, input requested!
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?
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?
no subject
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. ^_^;
no subject
Those are all really good suggestions, about checkpointing and intermediate and stretch goals!
You're the course instructor for this class? Rad!
no subject
no subject
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.