This is part of a series of occasional interviews I’m doing of educational innovators, both inside and outside the teaching profession. You can find the past interviews here.
We met Elizabeth Wickes at Pycon 2014 and I’m delighted that she agreed to do an interview for us. She’s smart, personable, and passionate about forming community around programming. Her professional career includes working at software company Wolfram Research, but her programming knowledge comes from her own curiosity. Currently a grad student at the University of Illinois at Urbana-Champaign, she’s one of the organizers of the local Python user group. Read on to learn about how she’s made the group into an excellent resource for learning more and experiencing a community.
Elizabeth: The inspiration was a combination of factors, but mostly stemming from curiosity and the desire to be self-sufficient. At Wolfram|Alpha, I was in a situation where coding wasn’t a requirement for my position and yet I was interacting with it on a daily basis and completely dependent on other people to make or adjust tools. Over time I developed enough skills to get most things done on my own, but I still wanted to know more. I decided to take an introduction to programming class at a local college to get more formal experience. From there I discovered Python, and was completely hooked on all things programming. I found it empowering to gain programming skills and was able to take care of things myself. I still feel that initial spark of joy as I watch files appear in an output folder.
Elizabeth: I organize the Champaign-Urbana Python User’s Group, or Py-CU (www.py-cu.org) with Nadia Karlinsky and Liz Surbeck. We are a pretty young group, but have managed to do a fair amount. We hold a Hack/Project Night every Tuesday evening, and monthly general meetings. The Hack Nights are well attended (between 4-10 people a week), and I consider them to be a supportive studio space. Most of the time people are working on projects, but often times we end up discussion project issues or Python news.
We are working hard to increase our community outreach. Last fall I helped design and run a six session introduction to programming workshop. We capped registration at 15 students and ended up with 15 students on the waitlist after three days of open registration. I summed up our methodology and experiences inside a poster I presented at this year’s PyCon: http://dx.doi.org/10.6084/m9.figshare.988625.
Elizabeth: From my perspective, computer programming has always been a communal activity. We need other people to help us solve problems, link us to learning materials, or work with us on larger projects. Very often programming appears and feels very solitary when our community is based solely on websites like Stack Overflow and Reddit or in a pile of books. Sometimes we want to have some face-to-face interaction so we can feel like we are part of a community. That is what Py-CU provides. Members collaborate on problems, come in for help, or just work independently in a room with other people. One of Python’s greatest achievements has been this wonderful sense of community. We want to represent that community and provide a warm, welcoming place for everyone to come in and feel comfortable in the learning process.
Freely accessible learning communities become vital when the acquisition of necessary skills is blocked behind a paywall of tuition or capital investment. Python is a great language to form these communities around because there are amazing tools to develop and learn the language that are free. Websites like Trinket represent the power of Python and the future of education: anyone with access to an internet enabled computer can jump over those paywalls and gain access to programming skills. No software required. No hardware required. There are two parts to this learning: materials and resources give us the skill and the community gives us a practice to follow. These two aspects must be in alignment.
Nearly every week we have new people come to Hack Nights and say some version of “I’m here to learn how to program.” We can get them set up with the necessary tools and materials at no cost and off programming within ten minutes of walking in the door. We
Elizabeth: Try not to reinvent the wheel. Align with local groups supporting open technology spaces in your community and explore if you can become a sub or working group. Also, be careful about how you word your program names. We’ve found that many people are intimidated by the wording of “Hack night,” and are actively reinforcing that beginners will fit in.
Do a lot of research into tool and material recommendations. People will come in and ask for help, and you should have responses at the ready. In library school we study the concept of the reference interview, and the same applies to these students. Take some time to listen to why someone wants to learn the skills and what their background is. Make recommendations that fit those needs and not just what you liked the best. In the case of Python, I found that I had to do this so much that I just started my own list of resources. My resource list started very general, but as I started interacting with library students more it developed a focus on programming for humanists.
Organizers should also understand what I call the “dumb luck” effect and how to take advantage of it. This is when you discover an incredibly valuable piece of information, a trick, or an approach just through random conversation. Think of those moments when you responded to learning something new with “If only I knew that 2 years ago! You have no idea how much anguish that would have saved me!” The advantage of having community groups based around a skill like programming is that we can foster this kind of communication among users and take advantage of everyone’s disparate backgrounds. Organizers should facilitate discussions to promote more of these “dumb luck” conversations. For example, take a room of people who use Python for math, engineering, electronics research, and text mining. Have everyone talk about what development environments they use and what are their favorite Python modules. I guarantee that everyone will learn something valuable.
Elizabeth: We have great instructional tech and help desk groups who put together a ton of workshops related to library and information technology. These workshops are open to all who are curious, and usually live streamed online for our remote students. As for individuals, I haven’t met anyone outside of those groups who is quite as noisy as I am about spreading programming education. I’m sure they exist, but I just haven’t encountered them yet.
Elizabeth: Workshops! After running our first large scale workshop last fall, we continue to get requests to run it again and with other topics. I’m also hoping to develop more formal activities for the hack nights. Specifically, guided study groups for beginners or people wanting to take up a new topic. The point of these groups would be to develop cohorts and connections among members.