I've wanted to run a programming study group for quite a while. Although I love what Rails Girls and InstallFest do, I think attendees find it quite hard to continue learning. They have some support from the community through initiatives like DevHub to continue working on projects and learning about Ruby and Rails. But there isn’t a clear path for them to go down - books? which ones? videos? by whom? personal project? what kind? I'd find all the options overwhelming. Even once you get started, there will always be many, many bumps along the road and going to DevHub once a month won’t be enough to get over all of them.
So after thinking about it a lot, I decided to run my own study group. I want something with:
- a focused lesson plan,
- a clear end date,
- concrete (and often) meeting times, and
- motivated attendees.
As I mentioned, there are copious “learn to program” resources, but I want something specific. It needs to be interactive (not just reading a book), provide explanations for every step (no copy/paste!), have sections that could be done alone and in a group (learn a little every day, not just on meeting days) and be free - I don’t want anyone to feel like they can’t attend because of money issues. There doesn’t seem to be anything that meets all those requirements for learning Ruby (if you have any suggestions, please add them to the comments!).
A focused lesson plan
I'd previously had experience working with the courses from Udacity. I loved the layout of the whole thing - very short videos, quizzes throughout the lecture to keep you focused, and problem sets at the end to do as “homework”. This seems like a great way to run the study group - we could have a “flipped” classroom: watch the videos at home and do the homework as a group. For me, it also means I can brush up on my Python - pretty happy to take a little break from Ruby in the evenings!
A clear end date
For me, starting new habits is quite daunting. The first time I do something all I can think is “do I really want to do this every day for the rest of my life?” I find it hard to deal with the repetition (monotony...) of it, even in my imagination. For this study group I don’t want people to feel that they were promising to learn to programming forever. Nor do I want to lock myself in. There are many things that can go wrong with something like this, and I want to give everyone a date with an easy out. After that we can all reevaluate and decide if we're interested in continuing, or letting sleeping dogs lie.
Concrete (and often) meeting times
I struggle to keep in touch with friends. When we say goodbye we often leave it with “see you... sometime!” and then never get around to setting a date. When one of us does remember, it takes ages to find a time that works well for both of us. I don’t want to play that game for this group. I will pick one day a week to get together and go over the homework problems. If that doesn’t work for you, I’m sorry. I also want to meet every week - not just once a month. It needs to be often enough that people feel the urgency to get their work done and not procrastinate. And often enough that they don’t forget the concepts between meetings. It'd be great to meet twice a week, but that’s a bit out of range for me, and probably for any attendees as well.
This last one is a little harder to handle, so I put it off till last. I’m tired of people flaking out. I’m tired of running events like Rails Girls Next, putting a lot of work into it, and then having people tell me they can’t make it. Especially when I’m giving up my time to help them. (I'll admit, I've dropped out of events myself. But usually not when I’m going to meet a tutor, or get focused help from someone.) I want people to feel like they should be there, and not that it’s optional. This is hard to do. Although people claim they want to learn, their actions don’t always back that up.
So I’m going to take a leaf out of Economics - make them pay. To be clear, I don’t want their money. I want them to show up. But people value what they pay for more than what they get for free. By asking them to pay I’m getting them to value the group more. I'll also go one step further, and use a pay model from GymPact - they'll get their money back if they've attended regularly. See? I said I don’t want their money!
Well, I’m feeling pretty good about getting this started. I know it’s something I’m interested in, and I believe it’s something I’m capable of doing. So I'll write up a page to link to from my site tomorrow and see who signs up!