RE: Answers to Exercises in Craft of FP

Gour (gour-haskell-cafe-sender-b3e10c@atmarama.org) wrote RE- :
Do you know if there are solutions to exersises available somewhere?
Have you gone through the whole book, i.e. all the exercises?
Sincerely, Gour
Hi Gour, Unfortuantely I don't know of anywhere that the exercise answers can be found, even after some google searching. I would definitely find them useful though as there are a couple I haven't been able to work out. I can't say I've gone through all the exercises yet but I'll get there one day! I've got as far as the abstract data types chapter. regards DaveO

"David Owen"
Do you know if there are solutions to exersises available somewhere? Have you gone through the whole book, i.e. all the exercises?
Unfortuantely I don't know of anywhere that the exercise answers can be found, even after some google searching.
Another option is posting the excercise to this list (or perhaps in comp.lang.functional), along with your current effort at solving it. (As this could look like a homework request, don't expect the direct solution, but I think you will get some hints to nudge you in the right direction.) -kzm -- If I haven't seen further, it is by standing in the footprints of giants

Ketil Malde (ketil+haskell@ii.uib.no) wrote:
Another option is posting the excercise to this list (or perhaps in comp.lang.functional), along with your current effort at solving it.
I consider it would be useful to have the the whole collection somewhere, maybe on wiki since Thompson's book (beside Hudak's HSOE) very popular one for learning Haskell and it can bring even more popularity for Haskell language. Is it only me, but it looks that more & more posts are appearing on this list?
(As this could look like a homework request, don't expect the direct solution, but I think you will get some hints to nudge you in the right direction.)
Of course, but, otoh, solving ALL the exercises from the book is time-consuming, so to be able to sneak into some would be a nice learning experience :-) Sincerely, Gour -- Registered Linux User | #278493 GPG Public Key | 8C44EDCD

I'm not sure how Simon Thompson feels, or other instructors using his or my book, but a downside of posting all of the solutions is that the problems cannot be assigned for homework. I have many of the solutions to SOE problems, and could post them, but am wondering if it would be better to make them available only to instructors, or to those who might convince me that they are not reading the book for credit. Or is that being too draconian? -Paul Gour wrote:
Ketil Malde (ketil+haskell@ii.uib.no) wrote:
Another option is posting the excercise to this list (or perhaps in comp.lang.functional), along with your current effort at solving it.
I consider it would be useful to have the the whole collection somewhere, maybe on wiki since Thompson's book (beside Hudak's HSOE) very popular one for learning Haskell and it can bring even more popularity for Haskell language.
Is it only me, but it looks that more & more posts are appearing on this list?
(As this could look like a homework request, don't expect the direct solution, but I think you will get some hints to nudge you in the right direction.)
Of course, but, otoh, solving ALL the exercises from the book is time-consuming, so to be able to sneak into some would be a nice learning experience :-)
Sincerely, Gour
-- Professor Paul Hudak Chair, Dept of Computer Science Office: (203) 432-1235 Yale University FAX: (203) 432-0593 P.O. Box 208285 email: paul.hudak@yale.edu New Haven, CT 06520-8285 WWW: www.cs.yale.edu/~hudak

Paul Hudak (paul.hudak@yale.edu) wrote:
I'm not sure how Simon Thompson feels, or other instructors using his or my book, but a downside of posting all of the solutions is that the problems cannot be assigned for homework.
That's true. Being a self-learner I forgot that your books are used as a textbooks.
I have many of the solutions to SOE problems, and could post them, but am wondering if it would be better to make them available only to instructors, or to those who might convince me that they are not reading the book for credit. Or is that being too draconian?
How to discern self-study from the university sudent? And this is maybe specific to Haskell-like community, i.e. for other programming languages there are so many books/materials/mailinglists/... so it is prety hard to give some specific homework expecting one cannot find an answer. At the same time, those who take adavantage of solutions (both students & self-study guys) won't benefit much from it - they have to pass the exam at the end or write some real code in a language :-) So, imho, solutions can be helpful for those who can take advantage of them. Let's hear what Simon Thompson thinks in regard. Sincerely, Gour -- Registered Linux User | #278493 GPG Public Key | 8C44EDCD

Maybe I am too much rooted in the German university system, where the students' autonomy is held high (against all evidence). But I never understood, why we - who have to learn the interesting stuff completely on our own, because bad luck supplies us only with Java teachers (although other professors use Scheme, Lisp, Prolog) - are punished for a possible misuse of the exercises' solutions by students who would by cheating loose some years of their lifetime before failing in the exams. Regards, Chris Am 26.01.2005 um 15:41 schrieb Paul Hudak:
I'm not sure how Simon Thompson feels, or other instructors using his or my book, but a downside of posting all of the solutions is that the problems cannot be assigned for homework. I have many of the solutions to SOE problems, and could post them, but am wondering if it would be better to make them available only to instructors, or to those who might convince me that they are not reading the book for credit. Or is that being too draconian?
-Paul

Dear Chris-- Many of us instructors who use (or have used) these textbooks (or others that have exercises) in university classes have found from experience that 1. Students learn best from exercises when they make a real effort to solve them before looking at the instructors' solutions. b. Students tend not to attempt exercises that don't count towards their grade. They don't usually decide consciously not to do the exercises, but if the exercises don't count, no deadline means anything, and the exercises get put off in favor of homework in other classes that actually counts. (I've found a "sweet spot" at 10%-- that's enough to induce most students to hand in most of the exercises, while minimizing the advantage of those who merely put their names on a copy of someone else's paper.) iii. If homework counts and solutions are available before the hand-in deadline, some students will find those solutions (particularly easily if they're available on the web) and hand them in as their own. They thus gain an advantage (I like to think it's only a temporary one) over students who play by the rules. It seems to me that a policy that makes folks who follow the rules feel like suckers is a not a good policy. An instructor who is teaching a course for the first time has plenty of work just organizing lectures, selecting exercises, overseeing their grading, and making up and grading exam questions. After a semester or two, when the lectures have stabilized, one typically starts making up new homework exercises. The first time around, however, it's really nice to have exercises that have already been devised, and used in actual classes, by the textbook's author. So I don't believe your misery is the result of a deliberate plot to make your life hard. It's the result of instructors organizing things for the benefit of their students, and authors and publishers addressing the needs of their largest market. In my own classes, I hand out suggested homework solutions, but only on paper (although they could be scanned and put on the web, I haven't yet seen that happen). Exam solutions, however, I make available on the web, because all the exam questions are composed by me, and used just once (or used again only after a lapse of quite a few years). I currently use Haskell in my Programming Languages class, and five semesters' worth of exam questions (not all Haskell, of course) with solutions are posted on-line at http://www.cs.utexas.edu/users/ham/UTCS/CS345/OldTests/cs345OldTests.html . These aren't the same as textbook exercise solutions (the context is not as explicit as it is for exercises at the end of a chapter), but you're welcome to them. If you use these up --or don't find them useful-- you might reflect on the fact that the conference papers and journal articles from which many folks learn lots of "interesting stuff" seldom include exercises. With best wishes, --Ham At 11:37 PM +0100 2005/1/26, Christian Hofer wrote:
Maybe I am too much rooted in the German university system, where the students' autonomy is held high (against all evidence). But I never understood, why we - who have to learn the interesting stuff completely on our own, because bad luck supplies us only with Java teachers (although other professors use Scheme, Lisp, Prolog) - are punished for a possible misuse of the exercises' solutions by students who would by cheating loose some years of their lifetime before failing in the exams.
Regards, Chris
Am 26.01.2005 um 15:41 schrieb Paul Hudak:
I'm not sure how Simon Thompson feels, or other instructors using his or my book, but a downside of posting all of the solutions is that the problems cannot be assigned for homework. I have many of the solutions to SOE problems, and could post them, but am wondering if it would be better to make them available only to instructors, or to those who might convince me that they are not reading the book for credit. Or is that being too draconian?
-Paul
-- ------------------------------------------------------------------ Hamilton Richards, PhD Department of Computer Sciences Senior Lecturer The University of Texas at Austin 512-471-9525 1 University Station C0500 Taylor Hall 5.138 Austin, Texas 78712-0233 ham@cs.utexas.edu hrichrds@swbell.net http://www.cs.utexas.edu/users/ham/richards ------------------------------------------------------------------

Dear Hamilton, I think we just have a different framing of the problem. You are confronted with the laziness of students and want to teach them something anyway. By that you are forced to disrespect the autonomy of students who are intrinsically motivated (e.g. by giving bonus points on exercises). I on the other hand am a great fan of the old German university system, which they are currently about to abolish in the so-called "Bologna Process". The idea is to just treat students as if they were autonomous. Most students fail in the exams in their first year, because they are not used to solving exercises when nobody forces them to do it (s.th. they should of course already have learned in school). Those students that don't recover don't belong to university. But most students learn from this negative experience, that they have to work on their own. And that is more important to learn on university than the details of a certain programming paradigm... It's nice that you offer me your exercises with solutions. But I am afraid that does not really help me, because I want to do (and am actually doing) the exercises in the books that I read (because that is the way to get a better understanding). Thus what I would need are the solutions to those exercises. Regards, Chris

Chris, I'm not sure that I understand your argument. How about this scenario, which is what I do: Students are assigned problems, without solutions. They are given some time to work them out and turn them in. Then they are given the solutions, most of which I go over in class. This does not require posting solutions ahead of time, or in a public place, it still allows the "autonomous" student to do the work on his or her own (although constrained by a particular time-frame), and it permits the student to see the solutions in the end. -Paul Christian Hofer wrote:
Dear Hamilton,
I think we just have a different framing of the problem. You are confronted with the laziness of students and want to teach them something anyway. By that you are forced to disrespect the autonomy of students who are intrinsically motivated (e.g. by giving bonus points on exercises).
I on the other hand am a great fan of the old German university system, which they are currently about to abolish in the so-called "Bologna Process". The idea is to just treat students as if they were autonomous. Most students fail in the exams in their first year, because they are not used to solving exercises when nobody forces them to do it (s.th. they should of course already have learned in school). Those students that don't recover don't belong to university. But most students learn from this negative experience, that they have to work on their own. And that is more important to learn on university than the details of a certain programming paradigm...
It's nice that you offer me your exercises with solutions. But I am afraid that does not really help me, because I want to do (and am actually doing) the exercises in the books that I read (because that is the way to get a better understanding). Thus what I would need are the solutions to those exercises.
Regards, Chris
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Professor Paul Hudak Chair, Dept of Computer Science Office: (203) 432-1235 Yale University FAX: (203) 432-0593 P.O. Box 208285 email: paul.hudak@yale.edu New Haven, CT 06520-8285 WWW: www.cs.yale.edu/~hudak

On Wed, 26 Jan 2005, Christian Hofer wrote:
who have to learn the interesting stuff completely on our own, because bad luck supplies us only with Java teachers (although other professors use Scheme, Lisp, Prolog)
That's my experience, too!

David Owen (d_w_o@hotmail.com) wrote:
Unfortuantely I don't know of anywhere that the exercise answers can be found, even after some google searching. I would definitely find them useful though as there are a couple I haven't been able to work out.
Me too. And I hope we're not the only one using the textbook :-)
I can't say I've gone through all the exercises yet but I'll get there one day! I've got as far as the abstract data types chapter.
Same here. It takes a lot of time to go thorugh all the exercises, especially since there are some which are just a slight variation on the theme. I have to finish some from the 6th chapter :-( Sincerely, Gour -- Registered Linux User | #278493 GPG Public Key | 8C44EDCD
participants (7)
-
Christian Hofer
-
David Owen
-
Gour
-
Hamilton Richards
-
Henning Thielemann
-
Ketil Malde
-
Paul Hudak