Beginner's luck - A story about learning and teaching Clojure


Published on

Have you wanted to learn Clojure but didn't know where to start? Have you wanted to teach Clojure but aren't sure how to work with students? Beginner's Luck is an interactive presentation where student and teacher share their experiences both learning and teaching Clojure over the past four months. The first part of the presentation will be a dialog where both student and teacher will switch off sharing experiences and coding examples of things that went well and the numerous surprises they encountered along the way.

Published in: Internet, Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Beginner's luck - A story about learning and teaching Clojure

  1. 1. Beginner s Luck A story about learning and teaching Clojure
  2. 2. All that mentoring is just going to slow you down!
  3. 3. Mentoring Having an extra pair won’t slow you down You don’t have much to loose, but could gain a really good developer The best new developer on your team may be the one you make
  4. 4. Developers Need to know how to mentor and teach Even senior devs need to be spun up Devs who are learning don’t leave
  5. 5. How did I get started?
  6. 6. Den of Clojure
  7. 7. So how do you determine if you are compatible?
  8. 8. Bloom's Taxonomy Assessing Evaluate ----------------------------------------------- Synthesis --------------------------------------------------------------------------- Analysis ----------------------------------------------------------------------------------------------------- Application ---------------------------------------------------------------------------------------------------------------------------------- Comprehension ------------------------------------------------------------------------------------------------------------------------------------------------------------ Knowledge
  9. 9. Knowledge
  10. 10. Knowledge What are the first 2 pieces when creating a function?
  11. 11. Comprehension
  12. 12. Comprehension What does this code do?
  13. 13. Application Knowing is not enough, we must apply. -Bruce Lee
  14. 14. Application What would you use to add expressions to a let? What tools might resolve this problem?
  15. 15. Analysis
  16. 16. Analysis Compare the following functions?
  17. 17. Synthesis & Evaluation
  18. 18. Synthesis & Evaluation What could we change to improve the execution time?
  19. 19. How do I build the lesson?
  20. 20. Backwards Design Establish a goal What fundamentals get you to the end Teach the fundamentals in small pieces Tie things back together Show how the solution can be generalized to other problems
  21. 21. Prepare
  22. 22. If you don’t have a set goal, focus on the fundamentals Don’t Fret
  23. 23. Onward to the yaks
  24. 24. Pairing terminal based editor tmux ssh reverse tunnels FTW pair in the repl
  25. 25. Emacs isn't that hard
  26. 26. compatible level of understanding environment
  27. 27. goal plan rhythm
  28. 28. How do teachers get better at teaching?
  29. 29. customer
  30. 30. Problem set 1 How do you get values in a map?
  31. 31. Recap “get” a value out of a map Maps are functions that take keys Keys are functions that take maps
  32. 32. Problem set 2 How do you represent an anonymous function?
  33. 33. Recap Longhand notation for anonymous functions Shorthand notation for anonymous functions If the anonymous function is simple enough, try just passing the function
  34. 34. Problem set 3 How can you process large datasets? So large that they may not fit into memory?
  35. 35. A person
  36. 36. Random person
  37. 37. A reasonably sized random person
  38. 38. Are they a mutant?
  39. 39. Are they a mutant?
  40. 40. Are they a mutant?
  41. 41. Random mutant
  42. 42. Random mutant
  43. 43. Flip a coin
  44. 44. Flip a coin
  45. 45. People generator
  46. 46. People generator
  47. 47. People generator
  48. 48. Random people
  49. 49. Recap Values in a map Anonymous functions Infinite lazy sequences Filters
  50. 50. closing Teaching is something you can learn Practice and commitment Help improve
  51. 51. Denise Zimmerman @westzimm Daniel Glauser @danielglauser
  52. 52. Resources • EDx, Project Euler, books commonality = problem sets • Tutorials have value when current • Meetups that were 75% hacking