Page 1 of 1

Teaching advice

Posted: Thu Jan 29, 2009 11:02 pm
by nor0101
Hey everyone,

I'm writing now at the beginning of a new term at my university. I've been hired to do supplemental instruction for the introductory CS classes. I'll be helping them review for tests and fielding homework questions during twice-weekly study sessions.

I've found a good deal of information on the web - amounting to a crash course in pedagogy - but I feel the students deserve an inspired instructor. To that end, I come to the forum tonight for inspiration.

I'm looking for anything, from memorable experiences from your schooling to teaching experiences.

Re: Teaching advice

Posted: Fri Jan 30, 2009 2:30 pm
by pickle
NO LECTURES. Holy crap were those ever boring.

The thing to remember is that people learn in many different ways - hearing, seeing, writing, doing. If you're going over a particular topic, talk about it for 15 minutes or so, allowing people to hear the information, and write it down. Show examples that others can see, then have some practice questions that people can do. Once you've gone through that gamut, most people should be able to understand the topic.

Even if you're just fielding a question, you can still compress that process down into 5 or 10 minutes.

Re: Teaching advice

Posted: Sat Jan 31, 2009 6:06 pm
by josh

Re: Teaching advice

Posted: Mon Feb 02, 2009 1:32 pm
by JAB Creations
The absolute worst thing a teacher can do is teach something the students will never use even in a highly morphed sense.

The second worst thing a teacher can do is create misperception of why something is useful by not effectively establishing the perception of why it's useful.

For PHP as a web designer learning web development the absolute most effective thing that helped me understand why PHP is useful is include. It was the fundamental aspect of why PHP is dynamic. You can take two or more sources and make them modular, and call them when you need to or not.

Build upon your effective example by exploring your student's desire to create something useful.

You also have to show up to class wearing pants. By this I mean if you don't have an effective works out-of-the-box example then someone like myself won't care, understand, or worse, both.

I'm not sure what CS stands for but an effective class would establish hands on usage (of my example with PHP) and minimally get students to the point where they would be comfortable with at least two or three dozen things (functions, echo, loops, iteration, $i++, whatever) and that they are then comfortable enough to explore php.net (or CS's equivalent source). Then instead of copying what already works they should have a solid basis to construct something that has a goal. Better yet you may if your students feel their time is too restrictive to build something useful help them coordinate in to teams to concentrate on a class voted project. Each team will concentrate on a function (in example again) that contributes to the class's overall goal. Each team will have to also work along with others and you would of course have to say, ok team 1 deals with headers, this is what I expect...etc. Team 2 deals with template shell. Team 3 deals with creating the database. Etc...

Again I don't know what CS is but if you give your students enough meat to get them comfortable with a real world example that will be useful after the class then you will have effectively taught a class that did not suck in the minds of your students. :)

Re: Teaching advice

Posted: Mon Feb 02, 2009 5:57 pm
by nor0101
Thanks for your responses:

@pickle: Fortunately, I won't be responsible for lecturing these students. They are all enrolled a lecture that meets 4 times a week. This is just to supplement that, to answer questions that they have on projects, and to review before exams. I do hope for lots of interactivity, but you can imagine how a room full of first and second year students react when someone walks in the door and says "so... any questions?". Hopefully a warmup with some practice problems that we go through together will get the conversation moving.

@jshpro2: That was a cool vid. I'm studying AI robotics this semester, first thing on the list is a sumo-bot!

@JAB Creations: "CS" is short for Computer Science, the umbrella term for the study of everything dealing with software and computer organization in the academic world. This class will be taught using the Java programming language. As for real-world examples, I think that is essential as well. It seems like many CS students are insulted by the ease of the first few assignments. The reasoning behind it is to make sure that people with no real programming experience aren't left in the dust. However the flipside of that is that it's important to give the advanced students some challenging things to ponder so they don't tune out.

Re: Teaching advice

Posted: Mon Feb 02, 2009 6:21 pm
by jayshields
We used to call what you're doing "tutorial classes". We got given questions relevent to that weeks lectures to solve in our own time every week and then could ask about them in the session.

I think most of our tutorial sheets are still on the web somewhere if you want me to find them for you.

Re: Teaching advice

Posted: Mon Feb 02, 2009 6:29 pm
by nor0101
@jay: That's a good suggestion. Thanks for the offer, but they're doing pretty basic stuff, so it's easy to come up with problems for them to work on.