Teach non CS major introductory course using Squeak

Richard Staehli rastaehli at mac.com
Mon Jun 6 17:46:54 UTC 2005


> Date: Sun, 5 Jun 2005 14:17:25 -0700 (PDT)
> From: Ralph Boland <ralphpboland at yahoo.com>
> Subject: Teach non CS major introductory course using Squeak
> To: squeak-dev at lists.squeakfoundation.org
> Message-ID: <20050605211725.91257.qmail at web50106.mail.yahoo.com>
> Content-Type: text/plain; charset=iso-8859-1
...stuff deleted
> I have always thought that for such students Smalltalk
> would be a MUCH better language to
> learn both in terms of learning what programming is
> all about
> and in terms of learning something that they might
> later find useful.
> I am fairly new to the Morphic part of Squeak but it
> suggests to me that because of Morphic,
> Squeak would be the preferred version of Smalltalk to
> use for such an introductory course.
>
> Thus I wonder what other think of these opinions?
>
> Can anyone suggest why these are particulary good/bad
> ideas?

I think it's a great idea because students can learn principles of 
formal language, automation, and algorithms without spending so much 
time on complex language syntax and multiple tools/interfaces for 
design, editing, compilation, debugging, and visualization.

The danger is that because Squeak has so many tools and methods for 
sharing code outside the image, browsing code in the image and just so 
much code, that students can be easily distracted, frustrated and 
overwhelmed.  It is essential to design the lessons to provide clear 
boundaries for exploration:  e.g., use _this_ tool to find the answer 
to _this_ problem and don't worry about all that other stuff now.  
EToys is a good example of an envirionment that keep the focus on the 
visual objects on the desktop so that students aren't confronted with 
all the code in the system browser.

My (limited) experience with Smalltalk in undergraduate introductory 
programming classes has been very positive.  Students can learn the 
important stuff easily and quickly produce working programs because the 
development environment is so well integrated.  With non-CS majors, I 
don't expect you have the problem of then trying to explain why other 
languages and environments are so different.

Rich




More information about the Squeak-dev mailing list