[comp.edu] Logo for college-level computer literacy courses

quiroz@cs.rochester.edu (Cesar Quiroz) (08/01/90)

We are sort of considering running a computer literacy class with
something like Logo instead of Pascal.  I would appreciate hearing
about other people's experiences with this idea.  The class is very
time-constrained, and most of the students don't expect to do much
programming later.

The usual approach via Pascal lets us enforce that low expectation
:-) The little time available gets spent into mis-learning a subset
of the syntax.  The ideas get lost.  No time for procedural
abstraction, recursion, nor anything fun.  By the time the students
have understood their editor and the semantics of readln, the term
is over.  They don't get beyond where to put the semicolons, and all
the tedium of declarations.  The students didn't expect to do much
programming before they took the class; after the class, they *know*
they don't *want* to do any programming.  A pity.

So, rather than torturing them (and ourselves), we would like to use
Logo (or a Scheme with good graphics) to introduce programming as
symbolic manipulation.  There are a few problems that perhaps the
Net could help us with: (1) are there any good implementations of
Logo for IBM PCs?  how about textbooks?  (2) how do we deal with the
perception that Logo is only for 6-year olds?  (is it?)  (3)
assuming that some students really get turned on to programming,
where do we go from Logo?

Thanks!

-- 
                                      Cesar Augusto Quiroz Gonzalez
                                      Department of Computer Science
                                      University of Rochester
                                      Rochester,  NY 14627

thom@dewey.soe.berkeley.edu (Thom Gillespie) (08/01/90)

In article <1990Jul31.195854.4630@cs.rochester.edu> Cesar A. Quiroz <quiroz@cs.rochester.edu> writes:
>We are sort of considering running a computer literacy class with
>something like Logo instead of Pascal.  I would appreciate hearing
>about other people's experiences with this idea.  The class is very
>time-constrained, and most of the students don't expect to do much
>programming later.
>
>                                      Cesar Augusto Quiroz Gonzalez
>                                      Department of Computer Science
>                                      University of Rochester
>                                      Rochester,  NY 14627


Why not use HyperCard with "The Analytical Engine, an introduction to computer
science using HyperCard" by Decker & Hirshfield. HyperCard has the advantage of
being object oriented and fun. Logo was only ok because there was no HyperCard
'back then', and usually all anyone wanted to do was Turtle Graphics, rarely
did anyone use the list processing part of Logo. HyperCard also has the
advantage of being a powerful enough tool to be used 'after' class for 'other'
things. You don't normally do things like that with Logo. If you're stuck with
IBMs then you are out of luck unless you want to run ToolBook under Windows 3
and maybe write "The Analytical Engine II, an introduction to computer science
using ToolBook" There are pluses to everything :->

--Thom Gillespie
.

maner@bgsuvax.UUCP (Walter Maner) (08/01/90)

From article <1990Jul31.195854.4630@cs.rochester.edu>, by quiroz@cs.rochester.edu (Cesar Quiroz):
> We are sort of considering running a computer literacy class with
> something like Logo instead of Pascal.  I would appreciate hearing

Some recent research has, surprisingly, found Logo harder to learn than
Lisp (Scheme).  If you want something like Pascal but more coherent and
user-friendly, you might try Turing.
WALT

-- 

InterNet maner@andy.bgsu.edu  (129.1.1.2)    | BGSU, Comp Science Dept
UUCP     ... ! osu-cis ! bgsuvax ! maner     | Bowling Green, OH 43403
BITNet   MANER@BGSUOPIE                      | 419/372-2337  Secretary
Relays   @relay.cs.net, @nsfnet-relay.ac.uk  | FAX is available - call

scarfone@acsu.buffalo.edu (Steve Scarfone) (08/01/90)

In article <1990Jul31.195854.4630@cs.rochester.edu> Cesar A. Quiroz <quiroz@cs.rochester.edu> writes:
>We are sort of considering running a computer literacy class with
>something like Logo instead of Pascal.  

I've just started using Logo in my computer literacy course.  Its a
mixed bag. 

Procedural abstraction seems to be much easier for students to
understand, and with turtle commands, they can see the results of
their commands readily.  

On the other hand, programming environment support is much weaker than
it was Pascal, and the syntax of the language is somewhat irregular.
(For example, there are two different conditional statements, one
supports nested conditionals, the other doesn't.)

If I could get the advantages of turtle graphics, the syntactic
simplicity of lisp, and the programming support of Turbo, running on a
PClone, I'd be very happy.

Steve Scarfone					scarfone@cs.buffalo.edu
226 Bell Hall, SUNYAB, Amherst NY 14215 	scarfone@sunybcs.bitnet

perlman@giza.cis.ohio-state.edu (Gary Perlman) (08/01/90)

In article <1990Jul31.195854.4630@cs.rochester.edu> Cesar A. Quiroz <quiroz@cs.rochester.edu> writes:
>We are sort of considering running a computer literacy class with
>something like Logo instead of Pascal.  I would appreciate hearing
>about other people's experiences with this idea.  The class is very
>time-constrained, and most of the students don't expect to do much
>programming later.
Maybe this is heresy, but instead of teaching computer literacy
by teaching what very few people do with computers (program),
why not try to teach the concepts in a realistic context, with
a simple integrated package like MicroSoft Works.  Although
word-processing has little abstraction (you can write macros),
other parts of such systems have programmable databases and
spreadsheets.  Being able to graph the results is also motivating.

>The students didn't expect to do much
>programming before they took the class; after the class, they *know*
>they don't *want* to do any programming.  A pity.
For most computer users, even heavy duty users, only a small
percentage of their work is programming.  I guess that much more
is editing.  The popularity of personal computers is not due
to the availability of programming envirnments, but is instead
due to the widespread availability of utilities like spreadsheets.
I suspect that 1-2-3 and dBase macros are much more common forms
of programming these days, even though many would contend that
putting together applications without compiling is cheating.
I believe that you can convey concepts like symbolic manipulation
in either a spreadsheet or a database, but I have no experience
teaching that material.  From my dim recollections of teaching
introductory programming (with Pascal), I do recall that students
did not learn very much at all.  It might be worthwhile to try
to teach computer literacy by teaching how computers are really
used (these days), as tools.  That might be motivating, too.

--
Name:  Gary Perlman               | Computer and Information Science Department
Email: perlman@cis.ohio-state.edu | Ohio State University, 228 Bolz Hall
Phone: 614-292-2566               | 2036 Neil Avenue Mall
Fax:   614-785-9837 or 292-9021   | Columbus, OH 43210-1277  USA

sadlerl@iuvax.cs.indiana.edu (LoriLee M Sadler) (08/01/90)

I have to agree with Gary Perlman about teaching computer literacy courses
with applications software rather than a programming language.  We have 
a large computer literacy program here, which I coordinate, that serves
about 600 students each semester.  We offer laboratory sections for
the Macintosh and the PC (students choose when they register for the course)
that have parallel assignments.  In the PC (DOS) section, we teach
WordPerfect 5.1, dBASE IV (student version), Lotus 1-2-3, rel. 2.2, and
Telnet (to connect to our VMS VAX cluster), and DOS 4.1.  In the Mac 
section, we teach WordPerfect Mac, Excel, Hypercard, MacDraw II, MacPaint 2.0,
and Telnet.  

Overall, it is very satisfying to teach these courses in this manner.
The students are enthusiastic and some of them actually go on to take
programming courses.  We teach macros in WordPerfect and Excel/Lotus,
and the students do "full-blown programming" assignments in Hypercard/dBASE
at the end of the semester.

Good luck.

-LoriLee
 

carr@pi.cs.unc.edu (Michael Carr) (08/02/90)

	The argument is between two different types of "computer literacy",
not ways to teach it. Is computer literacy 1) being able to use pre-packaged
software ( wordperfect, etc. ) or 2) being able to write your own programs
to manipulate the computer.
	
	They are two different things, I'm not sure you could say which is 
"better". Learning packages may be a good way to start out and get comfortable
with a computer, and then advance to actual programming, if the student
wanted to. I think its important to explain what you are trying to have
the student accomplish before arguing about how to do it.
" If I repent anything, it is very likely to be my good behavior.
  What demon possessed me that I behaved so well?"  Henry David Thoreau

  Mike Carr, expressing his own opinions at:  carr@cs.unc.edu

manis@cs.ubc.ca (Vincent Manis) (08/02/90)

In article <31840@eerie.acsu.Buffalo.EDU> scarfone@acsu.buffalo.edu
(Steve Scarfone) writes: 
>I've just started using Logo in my computer literacy course.  Its a
>mixed bag. 
I'm strongly inclined to agree. Logo has many virtues, but its syntax
has a number of peculiarities. On top of that, its use of dynamic
(fluid) variables is now considered somewhat old hat (lexical scoping is
easier to understand and much less error-prone than dynamic scoping). 

>If I could get the advantages of turtle graphics, the syntactic
>simplicity of lisp, and the programming support of Turbo, running on a
>PClone, I'd be very happy.

Try PC Scheme, which was developed by Texas Instruments, but now appears
to be sold by MIT Press/Scientific Press. The student version of PC
Scheme, costing around US$37.50, includes a full Scheme
interpreter/compiler, object-oriented programming package, DOS
interface, Emacs-style editor, and other goodies. There is also a
professional version, at around US$100.00, which adds extended/expanded
memory support (don't know how that runs with Windows), as well as a
full external language interface.

We at the University of BC  recently created a computer literacy course.
The initial thought was to use Scheme; in the event, the people teaching
it decided to use Pascal, but mostly because the book they were thinking
of adopting (``Computing Unbound'') uses Pascal. 
--
\    Vincent Manis <manis@cs.ubc.ca>      "There is no law that vulgarity and
 \   Department of Computer Science      literary excellence cannot coexist."
 /\  University of British Columbia                        -- A. Trevor Hodge
/  \ Vancouver, BC, Canada V6T 1W5 (604) 228-2394

perlman@poppy.cis.ohio-state.edu (Gary Perlman) (08/02/90)

In article <15490@thorin.cs.unc.edu> carr@pi.UUCP (Michael Carr) writes:
>	The argument is between two different types of "computer literacy",
>not ways to teach it. Is computer literacy 1) being able to use pre-packaged
>software ( wordperfect, etc. ) or 2) being able to write your own programs
>to manipulate the computer.
I think this is an important distinction, but the two are not independent.
Every day, non-programmers use pre-packaged software to write their
own programs.  For example, you can use WordPerfect to write a billing
system that prompts for inputs and creates forms.  The sorts of
applications that non-programmers write with database macros can
manipulate computers more than most programmers could hope to
with a traditional programming language.

I think it is important in a computer literacy course that the
students learn some fundamental concepts like problem decomposition
and algorithm, and that these can be communicated in an applied
context.
-=-
Name:  Gary Perlman               | Computer and Information Science Department
Email: perlman@cis.ohio-state.edu | Ohio State University, 228 Bolz Hall
Phone: 614-292-2566               | 2036 Neil Avenue Mall
Fax:   614-785-9837 or 292-9021   | Columbus, OH 43210-1277  USA

ergo@netcom.UUCP (Isaac Rabinovitch) (08/02/90)

In <8970@ubc-cs.UUCP> manis@cs.ubc.ca (Vincent Manis) writes:

>Try PC Scheme, which was developed by Texas Instruments, but now appears
>to be sold by MIT Press/Scientific Press.

Which is an interesting conincidence, since they also publish *The
Structure and Interpretation of Computer Programs* a book you
absolutely need Scheme to get through.  
-- 

ergo@netcom.uucp			Isaac Rabinovitch
atina!pyramid!apple!netcom!ergo		Silicon Valley, CA
uunet!mimsy!ames!claris!netcom!ergo

	"I hate quotations.  Tell me what you know!"
			-- Ralph Waldo Emerson

conrad@wucs1.wustl.edu (H. Conrad Cunningham) (08/02/90)

In article <15490@thorin.cs.unc.edu> carr@pi.UUCP (Michael Carr) writes:
>
>	The argument is between two different types of "computer literacy",
>not ways to teach it. Is computer literacy 1) being able to use pre-packaged
>software ( wordperfect, etc. ) or 2) being able to write your own programs
>to manipulate the computer.
>	
	A third approach might be a course built around David Harel's
book _Algorithmics: The Spirit of Computing_ (or its general audience
version _The Science of Computing: Exploring the Nature and Power of
Algorithms_) or some similar book.  Although not really intended as a
textbook, this book could perhaps be used in a more intellectually
demanding course (quoting from the preface) "devoted to the science
of computing and aimed at the technically oriented general" audience.
"Its objective is to present a readable account of some of the most
important and basic topics of computer science, stressing the
fundamental and robust nature of the science in a form that is
virtually independent of the details of specific computers, languages,
and formalisms."  Such a course would introduce the student to the
intellectual content of computing, not just the current technologies
and programming skills.

	Does anyone have experience with such a course? 

_Algorithmics: The Spirit of Computing_ by David Harel, Addison-Wesley, 1987.

_The Science of Computing: Exploring the Nature and Power of
	Algorithms_ by David Harel, Addison-Wesley, 1989.

The secondary titles for the chapters are interesting

	What's it all about? (history)
	Getting it done (algorithms and data)
	Getting it done by computer (languages)
	Getting it done methodically (algorithmic methods)
	Getting it done right (correctness) 
	Getting it done cheaply (efficiency)
	You can't always get it done cheaply (intractability)
	Sometimes you can't get it done at all(noncomputability/undecidability)
	The simplest machines that get it done 
	Getting it done by cooperating (parallelism)
	Getting it done by tossing coins (probabilistic algorithms)
	Are they better at it than us (AI)

-------------------------------------------------------------------------------
H. Conrad Cunningham              |  Title:     Assistant Professor
Dept. of Computer & Info. Science |  Telephone: (601) 232-5358    Fax: 232-7010
The University of Mississippi     |  Internet:  cunningham@cs.olemiss.edu
302 Weir Hall                     |--------------------------------------------
University, MS  38677             |  Home:      Rt. 1, Box 81, Oxford, MS 38655
-------------------------------------------------------------------------------

dlm@sjfc.UUCP (Don Muench) (08/04/90)

In article <1990Aug2.131246.6932@cec1.wustl.edu>, conrad@wucs1.wustl.edu (H. Conrad Cunningham) writes:
> 	A third approach might be a course built around David Harel's
> book _Algorithmics: The Spirit of Computing_ (or its general audience
> version _The Science of Computing: Exploring the Nature and Power of
> Algorithms_) or some similar book.  
> 
> _Algorithmics: The Spirit of Computing_ by David Harel, Addison-Wesley, 1987.
> 
> _The Science of Computing: Exploring the Nature and Power of
> 	Algorithms_ by David Harel, Addison-Wesley, 1989.
> 
A fourth approach might be to organize the course around "Exploring Language
with Logo" by E. Paul Goldenberg and Wallace Feurzeig, MIT Press, 1987.
In the introduction the authors "invite you to participate in the play and work
of the linguist, exploring the structure, function, and history of language
through projects, experiments, and examples of language in use."

I acquired this book just recently and have not read it through yet (I should
have Logo so that I can be more interactive with the book...), so I can't
say how good it is.  But, it is an intriguing book so far, and one which
gives a different kind of introduction to computing.

The third approach with algorithmics looks very interesting, too.  I think
I'll look at the books by Harel

Don
*************************************************************
Don Muench
Department of Mathematics & Computer Science
St. John Fisher College
Rochester, NY 14618-9987
E-mail: ...rutgers!rochester!cci632!sjfc!dlm
*************************************************************