tags:

views:

93

answers:

4

Hello,

I am reading 'The Little Schemer' in an effort to better understand some of the core elements of programming (namely recursion) and to get more of an idea how to think like a programmer.

The book comes recommended as an entry-level book and the introduction states that all I need to know are English, numbers and counting (which I do).

I am kind of confused though as the first section and questions start off by asking "Is it true that this is an atom?"

Am I missing something? Am I supposed to know what an atom is? I am confused as I thought it was meant to be in more plain English.

Thanks in advance, Tim

A: 

An atom in Scheme is like in english, something that you can't divide. Here is some atom:

'foo 'bar 'baz 123 '() '+
mathk
That makes sense, I guess I thought any abstract concepts would be introduced after an explanation, not just dropped in at question #1.
mackaytim
I did not read the book but I guess now at least you're gonna remember it for long since you've been looking for it :)
mathk
The book starts "in medias res". Very avant garde for a programming manual. :) (Friedman's lectures were kind of like that too, come to think of it...)
Nathan Sanders
+2  A: 

The book uses a sort of "constructivist" learning model. It asks you to figure things out before you know the formal definitions. The idea is to develop an intuition before formality (I believe, although that may not be the intention of the authors). You may find this annoying at first, but when you get to the higher-level concepts, you will find yourself understanding things way better than you would from reading R5RS, for example. Continuations had me completely baffled until I read all the way through this book. Stick with it and you'll get why the authors take this approach.

Joel J. Adamson
Thanks Joel, I would upvote if I had the reputation. You're answer with Anthony really gives me an idea of the mindset to take into the book, I marked his correct for giving a bit more detail. Thanks again.
mackaytim
+1  A: 

On the left of the page:

"Is it true that this is an atom? atom"

On the right of the page, 2cm away:

"Yes, because atom is a string of characters beginning with the letter a".

And similar questions and answers about atoms in the same format for the remainder of the page. I don't think it takes a genius to work out what is going on here.

anon
Good point Neil, I should have given more context to my question. Before I picked it up I read that I would get the most out of it if I covered up the right hand side and tried to work out the problems on the left. I thought I was wasting precious questions by looking at the answers right off the bat. Thanks :)
mackaytim
+2  A: 

It can be a hard book to get into; it took me two tries separated by about a year. The way you to read it is that you are figuring out these concepts for yourself by listening in on a dialogue between two other people. The first question about a concept will lose you, but the hope is that you say, "Aha! I've figured out the concept they must be talking about" before the end of the questions on a given topic. By the end of the section you'll be answering the questions yourself before reading the answers in the book.

If you hit the end of a section and haven't gotten to that point, start over again but try to give the answers yourself without reading them. When you can supply the answers yourself, you've either figured out the concept in your own terms or memorized the answers in the book. Later sections will refer back to these concepts, though, and will reinforce your understanding.

Think of the student in the book as a proxy for you who seems to begin each section smarter than you, but who you outpace by the end of the section.

Anthony
Thanks Anthony, that really helps me get an understanding of how to read the book. Cheers.
mackaytim