Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Chippewa Valley Code Camp Gr8Workshops Talk

November 14, 2014

Chippewa Valley Code Camp Gr8Workshops Talk

Discussion of current teaching methods of programming to adults and helpful hints learned from the Gr8Workshops initiative.

Chippewa Valley Code Camp
November 15, 2014


November 14, 2014

More Decks by jlstrater

Other Decks in Technology


  1. Jenn Strater – Software Engineer – Healthcare Communications Division –

    Minneapolis, MN – Co-Founder – Focus on Retention and Professional Development Company Redacted…
  2. Gr8Ladies ▪ An organization for the support of women in

    the Gr8 (Groovy, Grails, Gradle, etc) community – Education – Professional Development – Networking – Retention ▪ Chapters in Minneapolis, MN and Austin, TX
  3. Gr8Workshops ▪ Free or low-cost weekend courses for teaching Groovy

    and other Groovy ecosystem technologies ▪ Audience – Beginners who have never coded before – Experienced developers interested in learning new languages and technologies ▪ Volunteers are Groovy experts recruited from local user groups ▪ Next workshop: December 6-7 in Minneapolis, MN
  4. Goals of this session ▪ Raise questions about how programming

    is taught to adults and the skills shortage ▪ Evaluate current teaching models for post secondary education ▪ Provide helpful hints for anyone interested in teaching programming ▪ Brief discussion on teaching methods and marketing programs towards diverse groups
  5. Outline ▪ Why teach programming to adults? ▪ Traditional Education

    Models – Traditional College and Universities – Community & Technical Colleges ▪ Alternative Models – Online Education – Code Schools – Weekend Code Camps ▪ Summary ▪ Lessons Learned ▪ Open Discussion
  6. Why should adults learn to program? ▪ Programming teaches a

    way of thinking that can be applied to jobs outside of technology ▪ There are lots of job opportunities and an extreme shortage of qualified developers ▪ Technology is always changing; even experienced developers need continuing education to learn the right skills for the market ▪ It's FUN!
  7. Why should YOU teach adults to program? ▪ Learning By

    Teaching ▪ Social Good ▪ Recruit new developers for your company ▪ Self-promotion ▪ Networking
  8. A Global Problem ▪ Skills shortages in US, UK, and

    Canada1 ▪ Problem – Candidates have tech experience, but not the right skills ▪ Proposed Solutions – Immigration reform or outsourcing to try to meet demand ▪ Alternative Solutions – Employer paid skills training and professional development – Hire new grads and mold into the right skillset
  9. Potential Adult Learners ▪ Students ▪ Working professionals looking for

    a career change ▪ Experienced developers looking to learn new skills ▪ Moms(or dads) returning to the workforce but needing new skills
  10. Traditional College and University - US ▪ 4 year college

    education (and optional advanced degrees) ▪ Mostly theoretical knowledge ▪ Limited job skills – May need additional training to code professionally ▪ Well-rounded education ▪ Switching tracks can be very expensive (time and money) ▪ $100,000 + Cost of Attendance(COA) on average2
  11. Community and Technical Colleges - US ▪ Job skills focused

    ▪ Much shorter completion time ▪ Certifications may be available ▪ $30,000 on average3
  12. Online Courses ▪ Options – From traditional colleges and universities

    for credit – All online degrees – Free one-off classes on an interesting subject for no credit ▪ Can be taught as Massive Online Open Course (MOOC)4,5 or self-paced course ▪ Variable Experiences – Limited if any access to help from professors or teaching assistants – Cost varies – Curriculum varies widely – Low completion rates
  13. Online Courses Continued http://codeacademy.com Code Academy – Aimed learning objectives

    – Beginner level only https://projecteuler.net/ Project Euler – Math centric https://www.khanacademy.org/computing/computer-programming/programming Khan Academy – Many subjects
  14. Code Schools ▪ 9-12+ weeks ▪ Job placement focused ▪

    Flatiron School6 – $15000 – Ruby or iOS ▪ Hacker School7 – Free, but need living expenses in NYC – Project focused ▪ Dev Bootcamps – Popping up all over the country – Various languages and learning styles
  15. Weekend Code Camps ▪ Language/stack focused learning for various experience

    levels ▪ Free or low cost ▪ Examples – RailsBridge8 – ClojureBridge – Gr8Workshops
  16. Summary ▪ There are many different ways to get to

    a career in programming ▪ Every individual learns in different ways so multiple options are better and necessary ▪ Curricula – Concepts and Theory – Specific Languages and Tools ▪ Teaching Styles – Examples vs projects – Self guided vs group settings
  17. Summary Continued ▪ Content – Web Applications – Scripting –

    Basic trivial examples ▪ It's never too late to learn! – All ages and backgrounds – Every career level and day job
  18. Identify the audience ▪ Experience Level – No programming experience

    – Some programming experience – Experienced developers looking to learn something new ▪ Goal of education – Job specific skills – Theoretical knowledge – Career change ▪ Get to know the audience's background to tailor analogies and assess pace for learning topics
  19. Assess Technical Background Knowledge ▪ Basic Web Skills – Html

    – Css – Javascript ▪ Tools – source control – command line – Integrated Development Environment(IDE) ▪ General Programming Concepts – Object Oriented Programming (OOP) – Functional programming concepts – File handling – REST/APIs in general ▪ Define all jargon and acronyms ▪ Simplify exercises – avoid industry specific examples (even mathematics)
  20. Setting Up a Development Environment ▪ Provide instructions for multiple

    machine configurations ▪ Assume the students don't know how any programs (IDE's etc) work ▪ Offer supervised time to assist with setup ▪ Pick a location for your event with good Wi-Fi ▪ Bring a backup USB drive with all necessary setup files ▪ If all else fails, try a web console
  21. Beginner Specific Hurdles ▪ Learning something new can be intimidating

    – Remember a welcoming attitude – Watch for assumptions and tone of voice ▪ The more TA(teaching assistants) the better – Small student to teacher ratios are important – multiple viewpoints – Different analogies and explanations ▪ Languages – Java is practical, but beginners often get frustrated with the syntax – Consider Python or a dynamic and flexible language like Groovy!
  22. Current and Ongoing Challenges ▪ Wait for everyone to catch

    up or keep moving? ▪ Budget enough time for questions and assistance – One hour sessions aren't enough for true beginners – Consider a follow-up session if there are still outstanding questions ▪ Consider offering an intermediate level for repeat students who don't quite have enough experience for the advanced class
  23. Marketing to Diverse Groups ▪ Don't just make it pink!

    ▪ If you are charging for your course, consider scholarships ▪ If your target audience includes parents, consider offering childcare ▪ Avoid using gendered pronouns and adjectives ▪ Be cautious of images used in marketing
  24. Discussion Questions ▪ Which format did you experience when learning

    to program? ▪ Do you feel you would have benefited from another format? ▪ How does the initial training experience compare to continuing education? ▪ Are we just teaching the tools or concepts that will transfer as technology changes? ▪ Where should someone start who wants to learn to code? – Does your answer change depending on their age, gender, or current job?
  25. References ▪ 1http://www.itworldcanada.com/article/it-hiring-slump-to-bring-about-skills- shortage-survey/88069 ▪ 2http://www.collegedata.com/cs/content/content_payarticle_tmpl.jhtml?articleId= 10065 ▪ 3http://www.collegecalc.org/colleges/minnesota/hennepin-technical-college ▪

    4http://www.newyorker.com/science/maria-konnikova/moocs-failure-solutions ▪ 5http://www.academicpartnerships.com/sites/default/files/MOOCs_Expectations_a nd_Reality.pdf ▪ 6http://flatironschool.com/ ▪ 7https://www.hackerschool.com/faq ▪ 8http://www.railsbridge.org/