We are offering the Haskell/FP related course:
https://moocfellowship.org/submissions/the-dance-of-functional-programming-languaging-with-haskell-and-python
which goes online if it gathers enough votes.
It is our contribution towards getting Haskell and FP up on MOOC (Massive Open Online Course).
The aim is:
1. To use Haskell as medium to understand and showcase functional programming
2. To show how using Haskell as a thinking language can change the quality of programming in more conventional coding languages -- eg python.
It
has been designed in the spirit of using haskell to play with ideas,
and then idiomatically refine them for any implementation contexts
including Haskell.
Therefore, in this course (classical) typeful functional programming
will take precedence over (modern) 'type hackery'. Some aspects of this
shift of emphasis is [3].
Also some paradigm/philosophy questions, eg why much-hyped paradigms like OOP are not such a good idea [4]
Functional Programming has never had it so good as today!
Books like RWH, implementations like ghc, and of course the Haskell language itself are all part of this 'Never Before.'
spj has often joked about 'avoiding success at all costs'. This may be somewhat tongue-in-cheek yet is also serious.
As Haskell enters the mainstream and
begins to compete head-on-head with C, C++, Java, Python etc, we need to separate out these aspects:
1. Mastering Haskell is harder today than when FP was an academic passtime
2. Haskell-the-technology is obscuring the possibilities and reach of Haskell-for-CS
3. The elegant computer science (FP) + powerful
modern technology (ghc) is obscuring the questions of paradigm and
perspective that marked the inception of the field in an earlier era [1]
One
of the main intentions behind this course is to take cognizance of
these facts and work on the Haskell-learning-curve to make it accessible
to people with a wide swathe of interests/backgrounds.
So…
Those who are called to the above, Please Vote!
And those who are not called, also please vote [After all the choice is between this Haskell/FP course and none <wink> ]
Rusi
-----------------------------
[1] Think of AI →
Lisp, Denotational Semantics → ML, Notation as a tool for thought → APL etc
[2] https://moocfellowship.org/submissions/the-dance-of-functional-programming-languaging-with-haskell-and-python
[3] A shopping-list of topics in 'classic FP' : http://blog.languager.org/2012/10/functional-programming-lost-booty.html
Recursion as a wider concept than just recursive functions http://blog.languager.org/2012/05/recursion-pervasive-in-cs.html
[4] Folly of OOP http://blog.languager.org/2012/07/we-dont-need-no-ooooo-orientation-4.html