[Haskell-cafe] Open-source projects for beginning Haskell students?

Kim-Ee Yeoh ky3 at atamo.com
Tue Mar 12 11:27:43 CET 2013


Question is: does the task even have to involve the the production of
Haskell code?

Is it possible that both the student and the community-at-large would
benefit further from expository-style artifacts?

Some possible activities:

(1) producing documentation for popular packages that cater to
different learning styles (e.g. styles: Little Schemer, RWH, LYAHFGG,
etc.)

(2) survey of the various approaches taken by similar packages,
explaining the different choices taken

(3) cheatsheets, whether of GHC extensions, packages, syntax, commonly
used functions, etc.

These don't have to be harder than they sound. Option (2) in
particular could be e.g. a table listing the type signatures of the
various Iteratee packages with regard to Iteratee, Enumerator, and
Enumeratee. Or how a four-line Unix cat is implemented across them.

It's been said that a good teacher doesn't cover material, he
/uncovers/ them, i.e. the few core ideas that underpin everything.

Well, Haskell is just this heap of everything that's pretty hard to dig under.

Failing which, the indefatigable teacher would do well showing how the
student can teach themselves.

-- Kim-Ee


On Mon, Mar 11, 2013 at 10:48 PM, Brent Yorgey <byorgey at seas.upenn.edu> wrote:
> Hi everyone,
>
> I am currently teaching a half-credit introductory Haskell class for
> undergraduates.  This is the third time I've taught it.  Both of the
> previous times, for their final project I gave them the option of
> contributing to an open-source project; a couple groups/individuals
> took me up on it and I think it ended up being a modest success.
>
> So I'd like to do it again this time around, and am looking for
> particular projects I can suggest to them.  Do you have an open-source
> project with a few well-specified tasks that a relative beginner (see
> below) could reasonably make a contribution towards in the space of
> about four weeks? I'm aware that most tasks don't fit that profile,
> but even complex projects usually have a few "simple-ish" tasks that
> haven't yet been done just because "no one has gotten around to it
> yet".
>
> If you have any such projects, I'd love to hear about it!  Just send
> me a paragraph or so describing your project and explaining what
> task(s) you could use help with --- something that I could put on the
> course website for students to look at.
>
> Here are a few more details:
>
> * The students will be working on the projects from approximately the
>   end of this month through the end of April.  During the next two
>   weeks they would be contacting you to discuss the possibility of
>   working on your project.
>
> * By "relative beginner" I mean someone familiar with the material
>   listed here: http://www.cis.upenn.edu/~cis194/lectures.html and just
>   trying to come to terms with Applicative and Monad.  They definitely
>   do not know much if anything about optimization/profiling, GADTs,
>   the mtl, or Haskell-programming-in-the-large.  (Although part of the
>   point of the project is to teach them a bit about
>   programming-in-the-(medium/large)).
>
> * What I would hope from you is a willingness to exchange email and/or
>   chat with the student(s) over the course of the project, to give
>   them a bit of guidance/mentoring.  I am certainly willing to help on
>   that front, but of course I probably don't know much about your
>   particular project.
>
> Thanks!
> -Brent
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



More information about the Haskell-Cafe mailing list