[plt-scheme] Half-book review of HtDP

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Fri Jun 25 09:03:34 EDT 2004

Thanks for your evaluation. Keep working on it. You may discover a few 
more things about programming. -- Matthias

On Jun 25, 2004, at 6:05 AM, Hector E. Gomez Morales wrote:

> Warning this review is up to the middle of the book.
> Sorry for the gap between post but I have been very busy in school.
> Hi:
> I think every review is very for the most part subjective to the
> experiences and knowledge of the reviewer so I will put in short my
> background.
> I am a freshman of Computer Science my first programming language was
> fortran then I learned C++ and some C# i know too, no functional
> programming, lisp or scheme knowledge I had before the reading of HtDP.
> I started to read the book by recommendation of a friend.
> For the post part the book does his job well, little by little
> introduces syntax, semantics, etc of scheme in a way that is painless
> and straight forward to the reader, the curve of learning is more
> applicable to the use of drscheme specially in the first sections. In
> parallel the reader is shown good design methods that not only are
> applicable to functional programming but to programming in general in 
> my
> case some of this methods are unit testing, the use of contracts, the
> use of data definitions and finally the guideline for making auxiliary
> functions. Each section builds from the previous ones so the exercises
> become more challenging but more rewarding when they are finished.
> The sections 11 and 23 are the ones I have liked  the most for the
> simple reason that the combination of mathematics and scheme is pretty
> strong for grasping concepts very rapidly. I think that some type of
> cheat-sheet in the end of the book (Something like the rule and
> commandments if the Little Schemer) of the Guidelines and the various
> design recipes could be of great help. Overall I really liked the book,
> especially the tone and feel is relaxed and unpretentious. I think that
> the second half is going to be equally good so I think this book is a
> good intro book to scheme and programming without a doubt.
> The not so good things in my journey through the book have been:
> - The use of certain names for various functions: For example find,
> how-many, depth, etc this names are repeated various times to name
> functions, even when one function searches in a list of structures and
> another searches in a web page. A more specific name for each one could
> minimize the need to rename functions to avoid name-clashes.
> - From the start from section 10 to the end of section 17 no easy way 
> to
> test functions that output lists: From section 10 the reader is
> introduced to functions that output lists put there is no hint or note
> of how to make the verification of this output manageable. I think a
> note or hint that told the reader about the existence of equal? would 
> be
> the best course of action, like when in some exercises in hints is told
> the existence of append before the how-to of processing two lists
> simultaneously is brought to the reader.
> Hector Gomez M
> PD. I have attached a text file with various possible errors and/or
> typos that I have cached in my reading of the web edition of the book.
> <HtDP-errors.txt>

Posted on the users mailing list.