[net.cse] Approach for Introductory Course?

bbanerje@sjuvax.UUCP (B. Banerjee) (11/14/84)

Hello Everyone,

	Next semester, I have been tapped to teach CSC 1301.
This course is titled "Introduction to Computers".  It is
intended to give an introduction to programming and Computer
Systems for the non-majors.  In practice, it usually degenerates
into a BASIC programming course.

	This course is not intended for those students majoring in
CS.  Usually, we get 3 classes of students...

I)	Those who have had a BASIC programming course in High School,
	and think that this will be a piece of cake.

II)	Those who are taking this just to fulfill a GER requirement, and
	usually get lost when the lectures are pegged at the level of
	class I students.

III)	Those who want to make lots of $$$ programming, but are too
	cautious to take the first sequence in the progression for
	CS majors.

	The problem, therefore, is to peg the level at a stage where
everyone gets something out of it, but no one can coast...

	There have been several approaches taken so far.  Some semesters
ago, one of the Faculty members embarked on an ambitious program,
essentially teaching Pascal and Algorithms.  Everyone was left behind.
The person teaching it this semester is teaching it in Lisp.  The jury
is still out on this one.

	What I am considering is a two pronged approach.  I am thinking
of teaching the course using BASIC as well as FORTH.  The BASIC is for
a fallback position should the FORTH be untenable.  Advantages as I
see them....

I)  All students essentially start out on an equal footing.  Forth is
sufficiently unlike BASIC, that prior exposure to BASIC won't 
provide an immediate advantage.

II) Forth can effectively encourage a top down design approach.

III) Forth is a capable language which they can use for non-trivial
programming at a later date (I don't like BASIC too much).

Possible disadvantages ......

I)  The syntax and semantics of Forth are sort of arcane and non-
intuitive in comparison to BASIC. (This may also be considered to be
an advantage)

II)  It introduces yet another programming environment that the
novice must learn.

III) The environment is not tailored to the beginner, as is the BASIC
environment. (We use the UBC version of Basic, distributed by Rob
Kolstad [ parsec!kolstad ].  We also have the Princeton Forth, written
and posted to the net by Bill Sebok [ astrovax!wls ] ).

Well, what do you think?  Much of this depends on my being able to
write some forth routines that roughly parallel the BASIC environment.
(CATALOG, LOAD, STORE, etc.).  As I am not very proficient in Forth,
this is not a given.

I would appreciate comments on this approach.  Please reply by mail.
A news connection upstream from us (psuvax1) has been acting very flakey
lately, and I wouldn't want to miss any responses.

Regards,

-- 
				Binayak Banerjee
		{allegra | astrovax | bpa | burdvax}!sjuvax!bbanerje
P.S.
	Send Flames, I love mail.