This talk was presented at SeaGL 2019
"Do you remember the first time you fell in love with programming? The joy that you felt the first time you wrote some code and saw your very first “Hello World”? For some of us it was a BASIC program, for others it was a GeoCities page. Those experiences inspire us to want to learn more and explore the limits of technology. This is the kind of experience that I try to cultivate when organizing introductory programming workshops. Many beginners find learning programming intimidating and it’s our role as teachers to show them that they’re capable and help create an experience that lets them fall in love with programming.
In this talk I'll discuss some key lessons I've learned through my own experiences organizing introductory programming workshops, and give some tips on how to organize your own. I'll also discuss two introductory workshops I've organized, including a particularly successful introductory Arduino workshop that I gave to a group that had no prior programming experience. This workshop was relatively low effort but had a big impact on those that attended. It’s my hope that everyone can walk away from this talk with the tools and inspiration they need to put on a similar workshop in their own community."
2. Hi I’m Hailee!
My pronouns are she/her
I’m a “Full Stack” Software Developer at Bright.md
I’m a co-organizer of Django Girls PDX
My degree is in Electrical Engineering
You can find me at @HAIL_9000 and haileekenney.com
2
3. What to Expect From This Talk
⋆ My lessons learned from organizing introductory
workshops
⋆ What I believe makes a workshop successful
⋆ Hopefully a little inspiration for running your own
⋆ NOT a technical deep dive on Arduino (or much
technical diving at all)
3
4. First a big Thank
you!
⋆ Terian Koscik
⋆ @spine_cone
⋆ pineconedoesthings.com
4
Me Lilah Terian Nate
Elsa Anna
5. Why Am I Giving This Talk?
⋆ I think programming is neat
⋆ Getting started with programming can be tough and
discouraging
⋆ I want to help folks get started with their own
workshops
⋆ I don’t want other organizers to suffer as I suffered
5
6. Django Girls
⋆ 1.5 days, 40 attendees, 15 coaches
⋆ Workshop for women
⋆ Building a blog with Django (includes git, databases,
“deployment”, etc.)
⋆ Attendees work through self-directed tutorial in
small groups with coach
6
7. Project Object Workshop
⋆ 4 hours, 15 attendees, 2 coaches
⋆ Series of workshops for women
⋆ Programming small vibrators which interface with
an Arduino shield
⋆ Attendees work individually on a self directed
tutorial, two coaches float
⋆ Introductory presentation with some basic info
7
8. Key Ideas
1. Positive experience > extensive toolbelt
2. Make it fun and relatable
3. Doing more with less
8
12. Programming Has Ups and Downs
We can tolerate the lows when we know
how the highs feel!
12
13. Think About When Programming
Feels Bad
⋆ You’re stuck and you’re not making any progress
⋆ You’re bogged down learning something that’s
boring or confusing
⋆ You feel incapable and unintelligent
⋆ You’re not seeing the results of your hard work
13
14. Think About When Programming
Feels Good
⋆ You’re seeing the results you want, the computers
do what you say!
⋆ You’re learning things that excite you
⋆ You’ve built something cool that you’re proud of
⋆ You feel smart, accomplished, like you can do
anything!!
14
15. We Want to Cultivate Mostly the
Positive Parts!
⋆ We’re not going to make someone an ace
programmer in one workshop
⋆ Attendees will forget most of the specifics of what
they learn
⋆ A positive experience motivates continued learning
⋆ Focus on filtering out the bad parts and lifting up
the good parts
15
16. A Few Tips
⋆ Don’t be afraid to give the answers away
⋆ Strive to show results early
⋆ Create a safe, fun, and welcoming environment
⋆ Read about being a good mentor & teacher (and
make sure your other mentors do too)
⋆ Accommodate for different paces and skill levels
⋆ Don’t make it too long, grueling, and overwhelming
⋆ Communicate expectations
16
17. We Can’t Take Away All the
Negative Parts
Normalize the things that are difficult and universal
⋆ We all search for answers online
⋆ We all get stuck and frustrated
⋆ Programming is collaborative - we need help
from others!
17
18. The impression stays
It’s most important that attendees leave
feeling encouraged and motivated to
continue learning
18
20. It’s Easy to Love Programming
When it Connects us to
Something We Already Love
20
21. Technology Pairs Well With Most
Things
There are so many intersections to explore, think about
which one might resonate with your target audience
⋆ Technology and visual art
⋆ Technology and social good
⋆ Technology and music
⋆ Technology and science
21
22. Good News - There’s a lot of
Exciting Hardware to Program
22
https://tpinecone.gitbooks.io/diy-sex-robot/content/
23. Why Arduino?
⋆ Programming hardware is neato
⋆ Arduino is:
⋆ Cheap(ish)
⋆ Open source
⋆ Has community and resources
⋆ Lots of options
23
27. Let’s Talk about Organizing
Django Girls
⋆ Coordinating 40 attendees, 15 coaches
⋆ Planning meals, childcare, swag, loaner computers,
conference tickets etc. etc.
⋆ Finding a large enough venue for 2 days
⋆ Fundraising $3000+
⋆ High organizer investment (Did you know some
people organize events as their only job??)
27
28. What About the Django Girls
Workshop?
⋆ Two days (12 hours total)
⋆ Many tedious details
⋆ Hours to see real results
⋆ Most attendees don’t finish the tutorial
28
29. What is the Cost?
⋆ Organizer exhaustion and burnout
⋆ Barrier to organizing is very high, difficult to onboard
new organizers
⋆ Discouraged attendees
⋆ Running out of resources (and attendees) for
subsequent workshops
29
30. Project Object
Workshop
⋆ 15 attendees, 2 coaches
⋆ Just one afternoon
⋆ Pairing with Project Object
(local artist community) =
new resources
⋆ Organizer investment - just
the fun stuff
30
31. Results?
Big success!
⋆ Attendees finished workshop, felt accomplished
⋆ Organizers were still alive
⋆ Energy felt much more universally positive
31
32. Revisiting our Goals For These
Workshops
⋆ Create a positive experience for attendees, help
them leave encouraged and motivated
⋆ Help them see results early and often
⋆ Make sure things aren’t too long and grueling
⋆ Make sure things aren’t overwhelming
⋆ Create a fun and safe environment
32
33. Think Smaller
Focus less on planning logistics, more on
the workshop. It will be a more positive
experience for you and attendees
33
35. Have an Idea?
Think about what you want to build and ask yourself a
few questions:
1. Cost (will you seek sponsorship? charge
admission?)
2. Time (how long will this take? can I abstract parts
away to make it shorter?)
3. Audience (who is my audience? skill level?)
35
36. Ready to Write?
1. Buy your hardware and mess around!
2. Write a step by step tutorial
a. Create an outline with clear stages/successes
b. Include relevant and important info, but be
careful not to overdo it
c. Always keep your audience in mind
3. Find some proofreaders
4. Do a trial run (or several)
36
37. Put it On!
When/where will you give your workshop?
1. Conferences
2. With other tech community orgs
3. With another group in your community
4. All by yourself!
37
38. You Can Do It!
Learn from what those before you have done,
make it your own, and improve on it
38
40. Special Thanks!
1. Django Girls PDX community
2. Project Object (projectobject.co)
3. SeaGL Organizers
4. Lilah for supporting me and all my projects!
40