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
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
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!
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
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
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
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
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
– 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
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
– 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!
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
▪ 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
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?