Projects that could use student contributions?

Hi all, This fall I'll be teaching a half-credit introduction to Haskell to some undergrads. As a final project I am thinking of giving them the option of (instead of developing some program/project of their own) contributing to an existing open-source Haskell project. Of course, this requires the existence of projects they could contribute to. I'm sure they exist, but need your help to figure out what they are. So, do you maintain, or know of, any projects with the following characteristics? * might conceivably be interesting to undergraduate CS majors * simple enough that someone could make some non-trivial contributions in the space of 3 or 4 weeks * could use some help! This is a little non-traditional, so we'll see how it goes! -Brent

On Tue, Aug 31, 2010 at 1:52 PM, Brent Yorgey
Hi all,
This fall I'll be teaching a half-credit introduction to Haskell to some undergrads. As a final project I am thinking of giving them the option of (instead of developing some program/project of their own) contributing to an existing open-source Haskell project. Of course, this requires the existence of projects they could contribute to. I'm sure they exist, but need your help to figure out what they are. So, do you maintain, or know of, any projects with the following characteristics?
* might conceivably be interesting to undergraduate CS majors
* simple enough that someone could make some non-trivial contributions in the space of 3 or 4 weeks
As interim maintainer of Takusen, I'll vouch for it and say that it would be open and welcoming to such students. Unfortunately, I'm not sure if it qualifies as simple. It uses a lot of FFI and functional dependencies. Otherwise, I think it would be simple enough. Perhaps with a bit of negotiation we could find suitable tasks. One thing that was proposed for Takusen is to build compatibility layers for other Haskell database libraries, such as HDBC. This may actually be a decent project for a student and would possibly free them from the FFI and FDs bits of takusen. The takusen project page is here: http://projects.haskell.org/takusen/ Another idea someone had for takusen was to make a type safe query builder. Right now Takusen itself only requires that the "query" can be converted to string. So in principle, we could add data types / combinators for building SQL expressions and then have a QueryBuilder -> String function. Have you spoken to any other instructors that have used open source contributions as part of a course? I know that at Oregon State University, Dr. Budd has been teaching a class about open source (and how to get started) for several years. I'm sure he'd love to give you advice and he's very friendly. Here is a webpage with contact info: http://eecs.oregonstate.edu/research/members/budd/index.html For the students that do want to contribute to open source, you might encourage them to read Karl Fogel's, "Producing Open Source Software": http://producingoss.com/en/index.html
* could use some help!
At one point I was putting together a series of example OpenGL programs in Haskell. It's bitrotted these days and I'm not sure it needs updated to work with newer versions of HOpenGL. Interested students could polish it up and add more examples to it. I was translating examples from other languages, but creative students could invent their own examples. And, as I'm sure Don Stewart will point out, there is the Haskell reddit list of projects, although possibly too ambitious for 3-4 weeks: http://www.reddit.com/r/haskell_proposals/top/?t=year The Date/Time api might be a good one from that list while running haskell code under google's native client is probably a bit too much to ask for :) I hope that helps, Jason

On Aug 31, 2010, at 1:52 PM, Brent Yorgey wrote:
This fall I'll be teaching a half-credit introduction to Haskell to some undergrads. As a final project I am thinking of giving them the option of (instead of developing some program/project of their own) contributing to an existing open-source Haskell project. Of course, this requires the existence of projects they could contribute to. I'm sure they exist, but need your help to figure out what they are. So, do you maintain, or know of, any projects with the following characteristics?
Maybe the Haskell-related Google Summer of Code proposals would be useful to you? http://hackage.haskell.org/trac/summer-of-code/

Brent Yorgey
Hi all,
This fall I'll be teaching a half-credit introduction to Haskell to some undergrads. As a final project I am thinking of giving them the option of (instead of developing some program/project of their own) contributing to an existing open-source Haskell project. Of course, this requires the existence of projects they could contribute to. I'm sure they exist, but need your help to figure out what they are. So, do you maintain, or know of, any projects with the following characteristics?
* might conceivably be interesting to undergraduate CS majors
* simple enough that someone could make some non-trivial contributions in the space of 3 or 4 weeks
* could use some help!
This is a little non-traditional, so we'll see how it goes!
-Brent
Hi Brent, The following projects might be of interest: HCodecs * Description: A library to read, write and manipulate MIDI, WAVE, and SoundFont2 files. * Hackage Package: http://hackage.haskell.org/package/HCodecs * Git repository: http://github.com/giorgidze/HCodecs * Possible tasks: Add more codecs and/or improve the performance of existing codecs * Student will learn/use: Monadic parser combinators, parsing of binary data, how to test Haskell code using QuickCheck and HPC YampaSynth * Description: Software synthesizer * Hackage Package : http://hackage.haskell.org/package/YampaSynth * Git Repository: http://github.com/giorgidze/YampaSynth * Possible tasks: Add new audio filters and generators, use in other reactive applications, improve performance * Student will learn/use: Programming with arrows, Functional Reactiver Programming (FRP) in Yampa, audio synthesis Cheers, George

There is a lot of room for improvement to my NumberSieves package. The package consists of algorithms I extracted and polished up from when I was working on Project Euler problems. It makes solving a number of problems into quick five minute affairs. At some point I would probably do it myself, but I don't have a pressing reason to do it. http://hackage.haskell.org/package/NumberSieves Possible Improvements I have in mind: 1. Make things faster 2. Reduce memory requirements 3. Parallelize the sieves 4. Incrementalize the Factor and Phi sieves, so that an explicit upper bound is no longer required 5. Remove limitations so that Factor and Phi can sieve beyond 2^32 It would be a small and self-contained project, suitable for anybody who has an interest in Haskell and mathematics! If somebody is interested, by all means contact me via email, and I will share the approach I had in mind. Best, Leon

Hello, The Happstack web application framework would be glad to sponsor any students interested in contributing. We almost always have a collection of small, interesting tasks to tackle which do not require a deep understanding of Happstack or Haskell. When you are closer to actually giving the assignment, let me know and I can produce a list of possibilities. - jeremy On Aug 31, 2010, at 3:52 PM, Brent Yorgey wrote:
Hi all,
This fall I'll be teaching a half-credit introduction to Haskell to some undergrads. As a final project I am thinking of giving them the option of (instead of developing some program/project of their own) contributing to an existing open-source Haskell project. Of course, this requires the existence of projects they could contribute to. I'm sure they exist, but need your help to figure out what they are. So, do you maintain, or know of, any projects with the following characteristics?
* might conceivably be interesting to undergraduate CS majors
* simple enough that someone could make some non-trivial contributions in the space of 3 or 4 weeks
* could use some help!
This is a little non-traditional, so we'll see how it goes!
-Brent _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi Brent, ditto what Jeremy said. hledger is an end-user app with lots of needs including code & design review, performance and laziness analysis, quickcheck/smallcheck testing, development process refinement, web design, and features/fixes of all sizes. I'd be happy to mentor volunteers. -Simon
participants (7)
-
Alexander Solla
-
Brent Yorgey
-
George Giorgidze
-
Jason Dagit
-
Jeremy Shaw
-
Leon Smith
-
Simon Michael