This is an idea I’ve been kicking around for a while now. I’ve been trying to think of ways to connect experienced Haskellers with Haskellers-to-be in a lightweight, fun way. It’s more an idea-of-an-idea right now, but I wanted to share early to get feedback before making it more concrete.
Haskell Camp will be a time-bound, online event where people who wish to learn Haskell (“Learners”) get connected with people who wish to help people learn Haskell (“Helpers”).
- You can sign up either as a Helper or a Learner.
- Learners will be grouped and paired with a Helper.
- Each Helper will have a guided exercise meant to get a beginner’s feet wet in Haskell.
- Think of it like a “craft” you’d do at camp as a kid. They have guided structure around the technical parts, but still allow for the person doing them to be creative and problem solve.
- Helpers can also pair program, set up people’s tooling, etc to help.
- There will be a Discord server where everyone involved can chat and help each other learn.
- The timespan could be a weekend or it could be over the course of a couple weeks or month with people working async. I’m not sure what would be best.
- People can submit skeletons for projects even if they don’t actively lead a group.
- People are free to join the Discord just to passively answer questions and help people ad-hoc.
During the actual event, Learners will be assigned to a mentor Helper who will help them through a guided exercise catered to Haskell beginners. The guided exercise is up the Helper themself. There could be some pre-existing exercises to choose from (some people are better at writing and some are better with people, after all).
Some “craft” ideas off the top of my head:
- Make a CLI with
optparse-applicative
- Make an
apecs-gloss
game - Adapt “Write Yourself a Scheme in 48 Hours”
- Make a static site with Hakyll
- Make a simple webapp with
LIBRARY STACK
- Make a TUI with
brick
- Concurrency exercises
- Work through existing material (e.g. Haskell via Sokoban)
So would anyone be interested in this, either as a Helper or a Learner? And does anyone have any thoughts or suggestions? I’ve never hosted any sort of online event, so I’m very open to feedback!