I've been thinking of starting a programming club - I know some people who would be interested and I think it would be a fun thing to do. This club would probably meet once or twice a week for a couple of hours and would have upper middle schoolers and early highschoolers (so maybe 13 - 16, somewhere in there). I'm in the same age bracket.
Part of the fun is just working with other people on projects of your choosing, but it would also be nice to spend some time sharing knowledge - some members might want to talk about their project and what they learned doing it, others might want to talk about a particularly useful feature of a language, etc.
Some ideas I'm considering:
- One day a week is for learning and sharing, another day is for programming. Advantage - 50-50 split, people would learn a lot. Disadvantage: kind of annoying for people who want to consistently work on a project.
- Have the club start with a couple of days coming up with project ideas and forming groups to work on it, work on the projects for about a month or a set length of time, and then spend a couple of days sharing. Advantage - lots of time programming, people get to share their work. Disadvantage - not really a space for people talking about non-project related things.
- A mix of the above - #2, but when someone wants to talk about something really cool they've learned/discovered, some period of time is set up where everyone can learn about it.
How should time be split between these two activities so everyone has a good time but people still have an opportunity to share what they're working on? Would one of the above approaches work well, or would a different approach work better?