Intro To Programming

David Mitchell dmmitchell at mindspring.com
Wed Jun 23 03:48:14 UTC 1999


I'll volunteer to help edit. I was a technical writer before switching to
Smalltalk programming and I have been hacking since going to computer camp
as a kid and working on Apple IIs, Vic-20s, and IBMs with tape drives.

I went through a similar experience with my wife, who has a master's in
Physical Therapy but no experience programming. She was mostly curious about
what I do at work (and into the evenings). At the time my favorite Smalltalk
book was Chamond Liu's Smalltalk, Objects, and Design. This book uses IBM
Smalltalk, so the GUI components are not helpful for Squeak. She read and
worked the problems in the first four chapters in Dolphin Smalltalk. (Pre
1.8 Squeak being too slow for her on our then 486).

The book taught her about objects, modeling, and some Smalltalk syntax. I
remember her being quite excited about getting some of the example code
running. Very little computer programming experience is assumed, though I do
remember her being thrown by the term Boolean.

<ASIDE> This one I find interesting. Smalltalk eschews a great deal of CS
terminology for English-like terms. For example, Dictionary instead of
Table. Set instead of HashTable. We have True and False classes, but the
abstract class Boolean sneaks into our "Type Suggesting Parameter Names"
[Beck] all over the place. Maybe we should be writing aTrueOrFalse? </ASIDE>

Other quickies:

A Taste of Smalltalk -- Great for procedural conversion. Might be a bit much
for someone totally new to programming. The first few pages presume you've
written some code in some language (comparison examples from LISP, Pascal,
and others). I was able to type in the code with almost no changes in MVC
and had a blast doing it. I see you've already found this book. I was
surprised to get it through my local library's inter-library loan. It is,
unfortunately, out of print. [When I picked up this book, I had been
programming IBM Smalltalk for a couple of years but I was totally new to
Squeak. Spent several hours trying different variations of characters to
create the left arrow before I saw it rereading the intro text].

Smalltalk 80 The Language -- (The purple book is more than adequate for an
intro, and the blue portions are now on the Web). This is still one of my
favorites. Again, not really the best for bootstrapping from no programming
experience. However, if you are in to Smalltalk, you should get your hands
on this one. And then beg, borrow, or steal (well, don't steal) the Red,
Blue, and Green books. Actually, I was surprised again at being able to
obtain these through interlibrary loan. (The Blue Book arrived having only
been checked out once, such a shame!) The Red book (the one on the
"Interactive Programming Environment") is also out of print but is an
excellent intro to the Browsers, inspectors, debuggers, and workspaces that
we all learn to take for granted.

A Quick Trip to Objectland -- (Why are the best books always out of print?)

Smalltalk Best Practice Patterns -- This was one of my first Smalltalk
books. Still my most frequently referred to. Not a great intro, but picking
out a pattern a day and just working the heck out of it. This book also
encouraged me to read the image more than any other Smalltalk book I've
read. (Kent continually talks about searching for all senders of thisAndSuch
and it encouraged me to do the same).

Peter Coad's Object Oriented Programming -- Probably the best Smalltalk book
that doesn't have Smalltalk in the title. I still see this book at Borders
and it is one of my favorites. I think it does the best job of showing what
building corporate systems is like in Smalltalk. Definitely not sexy, but
one of the only books of its kind. Also, I think the students at Georgia
Tech use this book in their Squeak classes, so you can fileIn rather than
type and not worry about compatibility issues. (This book also gives equal
time to C++, but you can skip those sections entirely if you like)

Good luck,

David Mitchell
dmitchell at appliedreasoning.com



-----Original Message-----
From: Edward P Luwish [mailto:eluwish at uswest.com]
Sent: Tuesday, June 22, 1999 7:54 PM
To: Squeak
Subject: Intro To Programming


My wife is eager to learn computer programming, but has no background
whatsoever.  She is fascinated with Smalltalk, and I would like to help
teach her programming via Squeak rather than the typical BASIC or C
which have "Dummies" books galore.

She is attending an awful "Introduction to Computers" course at the
local community college that is using Visual Basic (insultingly calling
it object oriented) and a poorly written text that is mostly an encomium
for Microsoft.  Her background is in Fine Arts, and she loves the look
of Squeak and will lose interest in computers entirely if she has to
struggle with Visual Basic much longer.

The closest books I found are Ted's excellent "A Taste of Smalltalk" and
someone else's "Adventures In Objectland", but there are obvious
problems (kinda dated, based on non-Squeak Smalltalks) and less obvious
ones (assumptions about programming experience or mathematical knowledge
inherent in choice of examples).

I might well have to write the book myself, and would like references to
work that has been done in the area of teaching Smalltalk as an
introduction to computer programming for intelligent adults with limited
computer literacy.  I think it can be done.

Those of us who remember the goals of Dynabook will know that Smalltalk
was intended to be accessible to beginners and even children.

The textbook and course would use graphics- and text-oriented examples,
teaching some basic sorting and searching along the way, maybe some
basic mathematical examples that can be verified on a pocket calculator
(sums, factorials, etc.).  It would teach Object thinking as a problem
solving approach, some fundamental design and development-process
patterns, and the Smalltalk brand of "use the Source" for software reuse
and writing style.  I don't have any experience with formal teaching,
but have an excellent resource in my wife, who will give me instant
feedback as to whether I am doing the right thing or not.  In fact, I am
myself a "newbie" (I HATE that word) to Squeak, which may actually be an
advantage in this undertaking.

In fact, simply updating and revising "Taste" along these lines might be
sufficient, but I notice that Messrs. Kaehler and Patterson ceded their
rights to the publisher (Norton) for reasons that I am sure made sense
at the time.  I don't know how to go about securing permission to use
this book as a starting point, or if the best course is to start from
scratch.

If this seems like a worthy project, or a complete waste of effort,
please let me know your opinions.  If I end up undertaking it, I would
like to be able to find contributors and reviewers in our ranks.

Ed





More information about the Squeak-dev mailing list