SlideShare a Scribd company logo
How to Teach a
ClojureBridge Workshop
1
slack group

clojurebridgeworkshop
Introductions
Nola
• Co-founder of devchix
• Organize several meetups, currently Austin
Ruby, help with Austin Clojure and Women Who
Code
• Have done two ClojureBridges, one Clojure
Workshop, one RailsBridge
• Independent consultant doing Ruby and Clojure
Millie
• Member of the ClojureBridgeMN Board who has hosted
six ClojureBridge workshops since 2014.
• Founded and lead a Women's Affinity Group for two years
at my previous company.
• Currently a Software Development Instructor at Prime
Digital Academy in Minneapolis. Previously, server-side
Java Developer.
• Studied Computer Science at a Women's College. I
believe strongly in the power of Women's Education,
especially in STEM.
Your Turn!
• Name
• Where you are from
• Favorite kind of Taco?
History of
ClojureBridge
7
Inspired by Railsbridge
• San Francisco Ruby: 97% men, 3% women
• In one year -> up to 18% women
RailsBridge
ClojureBridge
• Initially started by a group of Clojure devs who
wanted to have the same success as RailBridge
• Sean Corfield, Bridget Hillyer initially started
getting together the materials
Other Bridges
• RailsBridge
• MobileBridge (IOS/Swift)
• GoBridge
BridgeTroll
ClojureBridge Objectives
ClojureBridge aims to increase diversity within
the Clojure community by offering free,
beginner-friendly Clojure programming
workshops for underrepresented groups in
tech.
— https://github.com/ClojureBridge/
organizing
Getting Attendees
14
Advertise: Where
word of mouth and delegation
• Attend local Clojure meetup.
• Attend any other technical user group.
• Attend or advertise through other local affinity
groups.
• University Computer Science Departments.
• Website for event, Facebook, and Twitter.
Advertise: How
word of mouth and delegation
• Attending events in person is the most effective.
• When attending events, it is helpful to have
something to hand out.
• Have a few stock emails ready to send to
various groups to advertise the event.
Getting Sponsors
Sponsorship
short term management
• Companies who do clojure in town
• Coworking or boot camps might let free use of space
• Book companies who have Clojure books (Pragprog, ORA,
Manning etc)
https://github.com/ClojureBridge/organizing/blob/master/Money-
Things.md
Bridge Foundry
long term management
• Bridge Foundry is the umbrella organizations for all bridges with 501c3
non-profit status.
• Apply for a PexCard through Bridge Foundry.
• Donations can go through Bridge Foundry and be accessible on your
clubs PexCard (debit card).
• More official way to handle money and Paypal link for individual donations.
• info@clojurebridge.org
https://github.com/bridgefoundry/operations/blob/master/using-funds/pex-
cards.md
http://bridgefoundry.org/about.html
TAs
Getting TAs
• Local Clojure meetups or people in your network
• Any local (functional) programming user groups
• ClojureBridge Slack channel and mailing list
• The nation/international organization might be
able to help connect your area with a trainer
Training
tech
• Meet at least once in person before the
workshop.
• Meet to go over workshop projects and materials
• Meet to learn how to use the chosen editor
Training
code of conduct
If you are not sure if something is appropriate
behavior, it probably isn’t.
• Bridge Foundry and ClojureBridge Oraganizing
docs have a lot of good tips. Review these
documents with all TAs.
https://github.com/ClojureBridge/organizing/blob/master/TA%20Training.md
https://github.com/clojurebridge-minneapolis/organizing/blob/master/
resources/ta-meeting-notes.md
Creating a Safe
Space
24
https://github.com/ClojureBridge/organizing/blob/master/Resources-on-
Diversity.md
Below is a list of resources, created by people of diverse
backgrounds, about how to facilitate inclusive spaces for (cis/
trans) women, people of color, and people who identify as
LGBTQIA.
People
• Who ever comes are the right people
• Introductions
• Name, how you heard about ClojureBridge (easy
icebreaker), track
• Have someone watching the space and check in on
people that look like they need help. But, don't hover.
• Introduce students to each other
• Clear direction
Planning Ahead
• A lot of the groundwork with the TAs will pay off here.
• Code of contact printed and easily accessible.
• Main point of contact at workshop with contact
information printed and easily accessible.
• Pronouns. Ask as part of registration. In Minneapolis
we print these on badges.
• Badges or t-shirts that help identify TAs and
organizers.
Logistics
Food
• ask about food allergies / preferences (gluten free,
vegan, vegetarian)
• taco/burrito bar is good choice, ingredients are
separated (ie meat and cheese)
• greek/indian food is also good but may be
expensive
• pizza or sandwiches are good if you can
accommodate food preferences
Keeping Food Costs Low
• To avoid wasted food, choose a food that you
can order morning of when you know how many
people are there.
• Get some food in bulk that could be reused later
(ie chips or cookies in individual packages)
• Breakfast not required, coffee/tea/water would
be sufficient
Managing Signups
• Eventbrite
• Google form to express interest and then people
are chosen
• ClojureBridge never charge a fee
• Not even a donation to a good cause :)
Improve Attendance
Free workshops can have higher numbers of no shows.
• Signup - doesn’t mean they get a seat. Appearance of a
selection process.
• Email Reminders
• One day workshops
• Invite ladies directly
• Announce a month early but not before
https://github.com/ClojureBridge/organizing/blob/master/How-to-
Improve-Attendance.md
To Install Fest or not?
• Traditionally Friday night is InstallFest
• In Austin for example… Friday night traffic can
be .. interesting
• Could send install instructions to be done ahead
of time (at least java install)
• Could install first thing on Saturday, but then you
have less time for workshop
Space
• Use a Bootcamp or Co-working space
• Use an office space
• Make sure you have a projector
• Have plenty of power strips and table/chairs
• Plan for what to do with leftover food (coolers
etc) containers to give out leftovers
Workshops
Determine Audience
• Beginner (no programming experience)
• Experienced in a language (+6 months)
• Alumni (attended prior workshop)
Styles of Workshops
• Lecture with pauses to work on exercises
• Self-study with folks around to help
• A mix of both
Extra Content
• have a panel of women developers to inspire
new developers
• have experienced Clojure Devs talk about what
they use Clojure for and Q/A
Editors
• Nightcode - structured editing, instarepl
• LightTable - structured editing, instarepl
• Atom, no repl but could use console repl
• Nightlight
Perks
Companies that donate
• PragProg may give free ebooks or % off coupon
• PurelyFunctional will give 1 yr free subscription
• LambdaIsland will have 1 yr free subscription
• Alumni will get a free ticket to ClojureWest, Conj
• O’Reilly Media may donate books
Swag
• group stickers with ClojureBridge Logo
• some groups have printed t-shirts or other items
The Projects
Quil - Drawing App
• learn functions
• getting mouse coordinates in quiz
• function composition
• loading images in quil
Quil - Turtles
• using predefined functions
• using the repl
• using doseq
• creating your own functions
• using :keys to destructure function params
Overtone - Tones
• sequences
• using doc to look at function docs
• writing a function with multiple arities
• using let to build up local vars
• composing functions to be more complex
World Bank API - Global
Growth
• learn about APIs
• parsing json
• using clj-http
• using compojure
• cleaning/filtering data
Web App Intermediate
Chatter App
• simplest web app
• increase complexity
• add bootstrap, elements on page as functions
• use kerodon to create integration tests
Web App Beginner
Chatter App
• Simple web app online by the end of the day
• exposure to coding ecosystem and a taste of
what you could build
• terminal, git, GitHub (other), heroku
• Clojure!
http://clojurebridge-minneapolis.github.io/
MN Track2
• Deeper dive into Clojure syntax and what it
means to be a functional language
• Try it out with with Clojure Koans
• Concurrency talk that revisits chatter app from
track one
http://clojurebridge-minneapolis.github.io/

More Related Content

PPT
Rethinking Scala Presented in San Francisco May 7, 2014
KEY
Becoming a more Productive Rails Developer
PPT
Using Web 2.0 tools in the library
PPT
PDF
Back to school tech essentials
PDF
NOCALL 2009 Wikis
PPTX
PPSX
Summer project 2018
Rethinking Scala Presented in San Francisco May 7, 2014
Becoming a more Productive Rails Developer
Using Web 2.0 tools in the library
Back to school tech essentials
NOCALL 2009 Wikis
Summer project 2018

What's hot (12)

PPT
Web2 inschools November 2010
PDF
Wiki whatia summer pdf
PPTX
Presentation hallie done
PDF
(Read Paperclip dolls
PPTX
Web 2
PDF
Group Interaction Patterns: The Keys for Highly Productive Teams
PPTX
284 final part 4
PPTX
Mt. Ephraim Technology Presentation 2-17-12
PPTX
MS Parent Connection
PDF
Core Data in RubyMotion #inspect
PPTX
Libguides, easybib, databases and more!.pptx
PDF
Enabling Creativity: Software that encourages creation and exploration
Web2 inschools November 2010
Wiki whatia summer pdf
Presentation hallie done
(Read Paperclip dolls
Web 2
Group Interaction Patterns: The Keys for Highly Productive Teams
284 final part 4
Mt. Ephraim Technology Presentation 2-17-12
MS Parent Connection
Core Data in RubyMotion #inspect
Libguides, easybib, databases and more!.pptx
Enabling Creativity: Software that encourages creation and exploration
Ad

Similar to How to Run a ClojureBridge Workshop (20)

PPTX
ClojureBridge In Practice 2016
PDF
Melbourne Clojure Meetup Jan 2018 - ClojureBridge
PPTX
ClojureBridge - Building a more diverse Clojure community
PDF
Clojure/West 2013 in 30 mins
PDF
Guiding people into Clojure
PDF
The Ideas of Clojure - Things I learn from Clojure
PDF
Exploring Clojurescript
PPTX
Why clojure(script) matters
PDF
A Java Developers first Clojure project
PDF
Clojure Programming Cookbook Makoto Hashimoto Nicolas Modrzyk
ODP
Scale2014
PDF
Introduction to Clojure
PPTX
Clojure Fundamentals Course For Beginners
PDF
Functional web development with Git(Hub), Heroku and Clojure
PDF
Functional (web) development with Clojure
ODP
Clojure
KEY
Clojure
PDF
Atmosphere 2016 - Krzysztof Kaczmarek - Don't fear the brackets - Clojure in ...
PDF
Clojure basics
PDF
Progscon 2017: Taming the wild fronteer - Adventures in Clojurescript
ClojureBridge In Practice 2016
Melbourne Clojure Meetup Jan 2018 - ClojureBridge
ClojureBridge - Building a more diverse Clojure community
Clojure/West 2013 in 30 mins
Guiding people into Clojure
The Ideas of Clojure - Things I learn from Clojure
Exploring Clojurescript
Why clojure(script) matters
A Java Developers first Clojure project
Clojure Programming Cookbook Makoto Hashimoto Nicolas Modrzyk
Scale2014
Introduction to Clojure
Clojure Fundamentals Course For Beginners
Functional web development with Git(Hub), Heroku and Clojure
Functional (web) development with Clojure
Clojure
Clojure
Atmosphere 2016 - Krzysztof Kaczmarek - Don't fear the brackets - Clojure in ...
Clojure basics
Progscon 2017: Taming the wild fronteer - Adventures in Clojurescript
Ad

More from Nola Stowe (14)

PDF
Austin Clojure: Clojure tools, Rebl readline
PDF
Cool Things in Clojure 1.9
PDF
Robot framework short talk
PDF
Women Who Code Functional Programming - 9/26/2016
PDF
Beginning Clojure at AustinClojure Meetup
PDF
Ruby Data Types and Data Structures
PPTX
Jekyll and MrBlog
PPTX
Intro to Clojure 4 Developers
PPTX
Intro to Clojure lightningtalk
PDF
Dart: Another Tool in the Toolbox
PDF
Getting better through Katas
PDF
Ruby101
PDF
Presenters
PDF
All girlhacknight intro to rails
Austin Clojure: Clojure tools, Rebl readline
Cool Things in Clojure 1.9
Robot framework short talk
Women Who Code Functional Programming - 9/26/2016
Beginning Clojure at AustinClojure Meetup
Ruby Data Types and Data Structures
Jekyll and MrBlog
Intro to Clojure 4 Developers
Intro to Clojure lightningtalk
Dart: Another Tool in the Toolbox
Getting better through Katas
Ruby101
Presenters
All girlhacknight intro to rails

Recently uploaded (20)

PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Classroom Observation Tools for Teachers
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Insiders guide to clinical Medicine.pdf
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Cell Types and Its function , kingdom of life
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
Complications of Minimal Access Surgery at WLH
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Microbial disease of the cardiovascular and lymphatic systems
Classroom Observation Tools for Teachers
PPH.pptx obstetrics and gynecology in nursing
Insiders guide to clinical Medicine.pdf
Week 4 Term 3 Study Techniques revisited.pptx
Anesthesia in Laparoscopic Surgery in India
Supply Chain Operations Speaking Notes -ICLT Program
STATICS OF THE RIGID BODIES Hibbelers.pdf
O7-L3 Supply Chain Operations - ICLT Program
Cell Types and Its function , kingdom of life
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Final Presentation General Medicine 03-08-2024.pptx
102 student loan defaulters named and shamed – Is someone you know on the list?
Complications of Minimal Access Surgery at WLH
Abdominal Access Techniques with Prof. Dr. R K Mishra
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester

How to Run a ClojureBridge Workshop

  • 1. How to Teach a ClojureBridge Workshop 1
  • 4. Nola • Co-founder of devchix • Organize several meetups, currently Austin Ruby, help with Austin Clojure and Women Who Code • Have done two ClojureBridges, one Clojure Workshop, one RailsBridge • Independent consultant doing Ruby and Clojure
  • 5. Millie • Member of the ClojureBridgeMN Board who has hosted six ClojureBridge workshops since 2014. • Founded and lead a Women's Affinity Group for two years at my previous company. • Currently a Software Development Instructor at Prime Digital Academy in Minneapolis. Previously, server-side Java Developer. • Studied Computer Science at a Women's College. I believe strongly in the power of Women's Education, especially in STEM.
  • 6. Your Turn! • Name • Where you are from • Favorite kind of Taco?
  • 8. Inspired by Railsbridge • San Francisco Ruby: 97% men, 3% women • In one year -> up to 18% women
  • 10. ClojureBridge • Initially started by a group of Clojure devs who wanted to have the same success as RailBridge • Sean Corfield, Bridget Hillyer initially started getting together the materials
  • 11. Other Bridges • RailsBridge • MobileBridge (IOS/Swift) • GoBridge
  • 13. ClojureBridge Objectives ClojureBridge aims to increase diversity within the Clojure community by offering free, beginner-friendly Clojure programming workshops for underrepresented groups in tech. — https://github.com/ClojureBridge/ organizing
  • 15. Advertise: Where word of mouth and delegation • Attend local Clojure meetup. • Attend any other technical user group. • Attend or advertise through other local affinity groups. • University Computer Science Departments. • Website for event, Facebook, and Twitter.
  • 16. Advertise: How word of mouth and delegation • Attending events in person is the most effective. • When attending events, it is helpful to have something to hand out. • Have a few stock emails ready to send to various groups to advertise the event.
  • 18. Sponsorship short term management • Companies who do clojure in town • Coworking or boot camps might let free use of space • Book companies who have Clojure books (Pragprog, ORA, Manning etc) https://github.com/ClojureBridge/organizing/blob/master/Money- Things.md
  • 19. Bridge Foundry long term management • Bridge Foundry is the umbrella organizations for all bridges with 501c3 non-profit status. • Apply for a PexCard through Bridge Foundry. • Donations can go through Bridge Foundry and be accessible on your clubs PexCard (debit card). • More official way to handle money and Paypal link for individual donations. • [email protected] https://github.com/bridgefoundry/operations/blob/master/using-funds/pex- cards.md http://bridgefoundry.org/about.html
  • 20. TAs
  • 21. Getting TAs • Local Clojure meetups or people in your network • Any local (functional) programming user groups • ClojureBridge Slack channel and mailing list • The nation/international organization might be able to help connect your area with a trainer
  • 22. Training tech • Meet at least once in person before the workshop. • Meet to go over workshop projects and materials • Meet to learn how to use the chosen editor
  • 23. Training code of conduct If you are not sure if something is appropriate behavior, it probably isn’t. • Bridge Foundry and ClojureBridge Oraganizing docs have a lot of good tips. Review these documents with all TAs. https://github.com/ClojureBridge/organizing/blob/master/TA%20Training.md https://github.com/clojurebridge-minneapolis/organizing/blob/master/ resources/ta-meeting-notes.md
  • 24. Creating a Safe Space 24 https://github.com/ClojureBridge/organizing/blob/master/Resources-on- Diversity.md Below is a list of resources, created by people of diverse backgrounds, about how to facilitate inclusive spaces for (cis/ trans) women, people of color, and people who identify as LGBTQIA.
  • 25. People • Who ever comes are the right people • Introductions • Name, how you heard about ClojureBridge (easy icebreaker), track • Have someone watching the space and check in on people that look like they need help. But, don't hover. • Introduce students to each other • Clear direction
  • 26. Planning Ahead • A lot of the groundwork with the TAs will pay off here. • Code of contact printed and easily accessible. • Main point of contact at workshop with contact information printed and easily accessible. • Pronouns. Ask as part of registration. In Minneapolis we print these on badges. • Badges or t-shirts that help identify TAs and organizers.
  • 28. Food • ask about food allergies / preferences (gluten free, vegan, vegetarian) • taco/burrito bar is good choice, ingredients are separated (ie meat and cheese) • greek/indian food is also good but may be expensive • pizza or sandwiches are good if you can accommodate food preferences
  • 29. Keeping Food Costs Low • To avoid wasted food, choose a food that you can order morning of when you know how many people are there. • Get some food in bulk that could be reused later (ie chips or cookies in individual packages) • Breakfast not required, coffee/tea/water would be sufficient
  • 30. Managing Signups • Eventbrite • Google form to express interest and then people are chosen • ClojureBridge never charge a fee • Not even a donation to a good cause :)
  • 31. Improve Attendance Free workshops can have higher numbers of no shows. • Signup - doesn’t mean they get a seat. Appearance of a selection process. • Email Reminders • One day workshops • Invite ladies directly • Announce a month early but not before https://github.com/ClojureBridge/organizing/blob/master/How-to- Improve-Attendance.md
  • 32. To Install Fest or not? • Traditionally Friday night is InstallFest • In Austin for example… Friday night traffic can be .. interesting • Could send install instructions to be done ahead of time (at least java install) • Could install first thing on Saturday, but then you have less time for workshop
  • 33. Space • Use a Bootcamp or Co-working space • Use an office space • Make sure you have a projector • Have plenty of power strips and table/chairs • Plan for what to do with leftover food (coolers etc) containers to give out leftovers
  • 35. Determine Audience • Beginner (no programming experience) • Experienced in a language (+6 months) • Alumni (attended prior workshop)
  • 36. Styles of Workshops • Lecture with pauses to work on exercises • Self-study with folks around to help • A mix of both
  • 37. Extra Content • have a panel of women developers to inspire new developers • have experienced Clojure Devs talk about what they use Clojure for and Q/A
  • 38. Editors • Nightcode - structured editing, instarepl • LightTable - structured editing, instarepl • Atom, no repl but could use console repl • Nightlight
  • 39. Perks
  • 40. Companies that donate • PragProg may give free ebooks or % off coupon • PurelyFunctional will give 1 yr free subscription • LambdaIsland will have 1 yr free subscription • Alumni will get a free ticket to ClojureWest, Conj • O’Reilly Media may donate books
  • 41. Swag • group stickers with ClojureBridge Logo • some groups have printed t-shirts or other items
  • 43. Quil - Drawing App • learn functions • getting mouse coordinates in quiz • function composition • loading images in quil
  • 44. Quil - Turtles • using predefined functions • using the repl • using doseq • creating your own functions • using :keys to destructure function params
  • 45. Overtone - Tones • sequences • using doc to look at function docs • writing a function with multiple arities • using let to build up local vars • composing functions to be more complex
  • 46. World Bank API - Global Growth • learn about APIs • parsing json • using clj-http • using compojure • cleaning/filtering data
  • 47. Web App Intermediate Chatter App • simplest web app • increase complexity • add bootstrap, elements on page as functions • use kerodon to create integration tests
  • 48. Web App Beginner Chatter App • Simple web app online by the end of the day • exposure to coding ecosystem and a taste of what you could build • terminal, git, GitHub (other), heroku • Clojure! http://clojurebridge-minneapolis.github.io/
  • 49. MN Track2 • Deeper dive into Clojure syntax and what it means to be a functional language • Try it out with with Clojure Koans • Concurrency talk that revisits chatter app from track one http://clojurebridge-minneapolis.github.io/