
You can find "ML for the Working Programmer" on-line at
https://b-ok.global/book/540620/dbb55f
Supposedly this is legal.
On Fri, 11 Dec 2020 at 13:00, Albert Y. C. Lai
I think that the 99 Haskell Problems are an easy source of short exercises.
https://wiki.haskell.org/H-99:_Ninety-Nine_Haskell_Problems
For longer, well-motivated problems, I think of the long-running examples in textbooks, for example the Countdown chapter in Hutton's Programming in Haskell.
If you can find/borrow Lawrence Paulson's ML for The Working Programmer, it has a list of suggested projects near the end. Don't worry about how that book is on ML rather than Haskell, most of its exercises and projects are good for Haskell too. In fact, enjoy this sentence from the book: "This sort of thing is easier in Haskell". :)
And now a dark turn---every silver lining has tarnish.
FP does not change people from writing convoluted borrowed code to original simple code. I saw this in my students, their only difference from your dis they are in university. Everything you said about having gone through Python and Java, fishing for answers on Stackoverflow, and making a mess, is just as true of my students. And to think that they're university students, yes.
In fact, it may be even worse, now that recursion is compulsory. People distrust recursion, they will think up all kinds of crazy schemes to micromanage code execution, rather than just letting recursion do its job.
In fact, even worse when the language is Haskell instead of SML and OCaml, because of "how do I print debugging output?"
On 2020-12-10 4:55 p.m., Zachi Baharav wrote:
Dear mighty Haskell list,
I am a high-school teacher in the US (California, Palo Alto). We have an advanced CS course that students can take after completing the AP-CS-A (in Java). This is usually Juniors and Seniors, after at least 2 or 3 courses of coding (Python+Java). Traditionally, I've done a potpourri of subjects, mostly search algorithms as applied to 'games'. Of course a little bit of data-structure comes in, and each year we did some 'other' interesting subject (like halftoning, barcodes, and so on) and investigated and implemented algorithms there.
THIS year, for the second half, I would like us to do Functional-Programming. From what I have seen, my students over the years tend to write more and more convoluted codes, electing first to search on stackOverFlow for some similar pattern, rather than think and find a concise and clean solution. I think FP would supply them with a new way of thinking, which will help with whatever they will write later on.
I've been coding with Haskell for about 7 years, so feel ok leading the class.
The question: I have many books on Haskell (i think 'all', but who knows. Haskell, Real world Haskell, Learn you a haskell for great good, programming in haskell, and many more). ---> I am looking for something more hands-on and 'fun' for HS students. may i say the buzzword 'project based', or maybe better 'problem based' for our case. Something that I could teach a little, and then we can solve a bunch of problems, and teach a little more, and so on.
It doesn't have to be a Book!! Just an outline of a course someone did with associated bunch of problems would be awesome. We have 18 weeks in a semester. My thought right now (if I don't find anything) is to relyon Euler project early problems. These are often clean and simple in Haskell. Or otherwise some CSES problems (which we've done in Java).
Ok, long enough email.
If you have material and can share here, great! If you have material and want to reach out privately, please do (zbaharav@kehillah.org mailto:zbaharav@kehillah.org). If you have a good pointer, that would be appreciated.
Thanks in advance for any help! Zachi (Dr. Zachi Baharav, HS teacher (after 20 years in Industry and academia))
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.