[comp.lang.scheme.c] teaching scheme

roderus@faui23.informatik.uni-erlangen.de (H. Roderus) (08/03/89)

Next semester we want to start an undergraduate course 'Principles of 
Programming' using MIT-C-Scheme (R6.1.1) on a HP-9000/835. We expect
500 students. In order to use the 48 MB main memory in a way to get as many
students as possible working simultaneously, we are looking for a minimal
configuration of the scheme system.

If you have experience with a similar problem, please let us know, how you
have managed it. Any other advice on teaching scheme is also appreciated.

Thank you for your answers!

Helmut Roderus, Bernd Hindel
roderus@immd2.informatik.uni-erlangen.de (H. Roderus)

larry@macom1.UUCP (Larry Taborek) (08/07/89)

From article <483@medusa.informatik.uni-erlangen.de>, by roderus@faui23.informatik.uni-erlangen.de (H. Roderus):
> 
> If you have experience with a similar problem, please let us know, how you
> have managed it. Any other advice on teaching scheme is also appreciated.
> 
> Thank you for your answers!
> 
> Helmut Roderus, Bernd Hindel
> roderus@immd2.informatik.uni-erlangen.de (H. Roderus)

Helmut,

I taught a very successfull Unify DBMS course last year and have
the following suggestions.  By the way, this was a week long
class that lasted each day.  You will probably have to adjust it
for your use.

I tell the students at the begining of the class what the goal of
the class is.

At the beginnning of the course, I told them that they would be
given a final examination.  This sort of thing helps the students
understand that they have to pay attention.

I tell the students at the beginning of the class what we will
cover each day.

I tell the students that they will be tested each day.

Then each day, I start by telling them what we will cover that
day (now in more detail), and then our goal.

I try very hard to move the class along.  Don't get tied up in
any one question.  Watch you time.  Ask lots of questions of the
class.  Force them to participate.  Turn questions from a member
of the class around and get someone else to answer.

People work on their DBMS projects for their lab work, while
I walk around and try to help.  As the more advanced students
finish, I ask them to assist those that are still working.  Each
days DBMS lab builds on the work done on the day before.  If
students cannot finish their work in the lab time, they are
invited to stay late, and work with me 1 on 1 to complete it.

At the end of the day, we review our work.  If their are any
questions, then they are any unanswered questions, then they are
answered at this time.  I give out the reading assinment for the
next day.  I give them their quiz.  When done, without collecting
them, I call on each person to give a quiz question, and how they
answered it.  Ask others how they answered the same question.
Let them grade and keep their quizes.

At the end of the week I review the class.  Where where we when
we started, and where are we today.  Did we meet our goal as
stated at the begining of the week?  What more could be done?

At the end of the week, they are given a master test, which I
collect and keep.  They are also given a grading sheet for the
class,  (was it a good class?  Did it go to fast/slow/about
right?).


So,

I tell them what I am going to tell them,
Then I tell them.
Then I tell them what I told them.

I do that for the entire class on a class basis,

>I tell the students at the begining of the class what the goal of
>the class is.
>
>At the beginnning of the course, I told them that they would be
>given a final examination.  This sort of thing helps the students
>understand that they have to pay attention.
>
>I tell the students at the beginning of the class what we will
>cover each day.
>
>I tell the students that they will be tested each day.

Then each days lessons.

Then at the end of the class I tell them what I told them.

>At the end of the week I review the class.  Where where we when
>we started, and where are we today.  Did we meet our goal as
>stated at the begining of the week?  What more could be done?

I also do that each day on a daily basis.

>Then each day, I start by telling them what we will cover that
>day (now in more detail), and then our goal.

>Then lab work is done.  People work on their DBMS projects, while
>I walk around and try to help.  As the more advanced students
>finish, I ask them to assist those that are still working.

>At the end of the day, we review our work.  If their are any

I find that this works VERY well.
-- 
Larry Taborek	..!uunet!grebyn!macom1!larry	Centel Federal Systems
		larry@macom1.UUCP		11400 Commerce Park Drive
						Reston, VA 22091-1506
						703-758-7000