Advertisement

How to Become Rich, Famous, and Popular While Using Your Programming Skills to Make the World a Better Place

Software Carpentry / Mozilla
Nov. 12, 2015
Advertisement

More Related Content

Similar to How to Become Rich, Famous, and Popular While Using Your Programming Skills to Make the World a Better Place(20)

Advertisement

How to Become Rich, Famous, and Popular While Using Your Programming Skills to Make the World a Better Place

  1. How to Become Rich, Famous, and Popular While Using Your Programming Skills to Make the World a Better Place (Maybe) Greg Wilson
  2. 2 5-15% use GPU clusters to analyze petabytes in the cloud 85-95% send each other spreadsheets by email Scientists
  3. 3 It Is Therefore Obvious That... We should put more computing in the curriculum! But it's already full
  4. 4 It Is Therefore Obvious That... And even if we did... ...who would teach those classes?
  5. 5 If you build a man a fire, you'll keep him warm for a night. If you set a man on fire, you'll keep him warm for the rest of his life. — Terry Pratchett
  6. 6 What We Teach Unix shell Version control Python/R/MATLAB SQL Make
  7. 7 What We Actually Teach Unix shell => Task automation Version control => Track and share work Python/R/MATLAB => Modular programming SQL => Data management Make => Reproducibility
  8. 8 How We Teach ● Peer instructors ● Teach in pairs ● Learners use their own machines ● Live coding ● Sticky notes ● Collaborative note-taking ● Iterate, iterate, iterate...
  9. 9 How It's Going 2011-11-07 2012-07-19 2013-01-06 2013-04-08 2013-06-24 2013-09-23 2014-01-08 2014-03-18 2014-06-15 2014-08-06 2014-09-27 2014-12-14 2015-02-09 2015-03-30 2015-05-25 2015-07-06 2015-08-27 2015-10-17 0 100 200 300 400 500 600 Workshops
  10. 10 How It's Going Workshops
  11. 11 How It's Going Learners 2011-11-07 2012-05-16 2012-10-08 2012-11-30 2013-02-06 2013-04-18 2013-05-30 2013-07-18 2013-09-21 2013-11-14 2014-01-18 2014-02-24 2014-04-29 2014-06-16 2014-07-19 2014-08-23 2014-09-24 2014-11-07 2014-12-18 2015-01-29 2015-03-02 2015-03-30 2015-04-29 2015-06-04 2015-06-29 2015-08-03 2015-09-06 2015-10-01 0 2000 4000 6000 8000 10000 12000 14000 16000 18000
  12. 12 How It's Going Instructors 2012-05-27 2013-07-20 2013-11-17 2014-04-19 2014-07-07 2014-08-07 2014-10-03 2014-11-05 2014-11-13 2014-11-20 2014-11-27 2014-12-13 2015-01-07 2015-02-06 2015-03-01 2015-03-12 2015-04-20 2015-05-26 2015-06-12 2015-06-26 2015-07-05 2015-07-10 2015-07-14 2015-07-28 2015-09-02 2015-09-25 2015-10-13 0 50 100 150 200 250 300 350 400 450 500
  13. 13 How It's Going Instructors
  14. 14 What We've Accomplished ● Honestly don't know ● Anecdotally, save people 10-20% of their time for the rest of their careers ● And prepare them for petabytes and clouds
  15. 15 What I've Learned 1. We know a lot about learning 2. Most people would rather fail than change 3. There are lots of gaps to fill
  16. 16 For Example https://www.youtube.com/watch?v=2LbuoxAy56o
  17. 17 ● Today's MOOC platforms don't support PI ● Piotr Banaszkiewicz showed it's possible github.com/pbanaszkiewicz/peer-instruction ● Opportunity #1
  18. 18 The Jupyter Notebook Text, math, code, and images What hypertext was meant to be
  19. 19 The Jupyter Notebook { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png":"iVBORw0KGgoAAAANSUhEUgAAArMAAAJA CAYAAACe4e6sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzn AAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdYFFfbBvB7qSIsH ...
  20. 20 The Jupyter Notebook { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png":"iVBORw0KGgoAAAANSUhEUgAAArMAAAJA CAYAAACe4e6sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzn AAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdYFFfbBvB7qSIsH ... Good luck diffing and merging this.
  21. 21 It Doesn't Have to Be This Way Tavish Armstrong and others nbdiff.org Opportunity #2
  22. 22 Generalizes Well First-class support for diffing and merging spreadsheets will get more scientists to use version control than anything else we can do.
  23. 23 Generalizes Well First-class support for diffing and merging spreadsheets will get more scientists to use version control than anything else we can do. 3 developers x 8 months (?) (even if it's optimistic...)
  24. 24 Speaking of Version Control ● Git is an awful tool ● git-man-page-generator.lokaltog.net ● But it's the price people have to pay in order to use GitHub
  25. 25 Speaking of Version Control ● A rational re-design of Git is possible and worthwhile ● Opportunity #3 ● Also generalizes well Andreas Stefik and Susanna Siebert: "An Empirical Investigation into Programming Language Syntax." ACM Transactions on Computing Education, 13(4), Nov. 2013.
  26. 26 A Puzzle ● Thousands contribute patches to open source software projects ● Millions have edited Wikipedia ● Why don't people build lessons this way?
  27. 27 All Together Now ● We've shown it can be done ● And that it's useful ● This presents more opportunities
  28. 28 A Small Part of the Reason ● Slideshow formats aren't diffable either ● But HTML alternatives are impoverished
  29. 29 A Small Part of the Reason ● Neither can create web- native videos ● Proof: pause a video, highlight the text being displayed, and copy it
  30. 30 Solution: Browsercast HTML slideshow... ...with start times for slides... ...and a player that syncs with audio github.com/twitwi/deck.browsercast.js-demo (Bonus marks for a GUI timestamp editor)
  31. 31 Advantages ● Plays everywhere ● Mobile-friendly ● Accessible! ● Searchable! ● Diffable! (ish)
  32. 32 To Sum Up ● First-class support for peer instruction ● Diff for all! (Excel first) ● A rational reconstruction of Git ● Browsercast ● Rocket science ● Fill in the gaps
  33. 33 For More Information http://software-carpentry.org gvwilson@software-carpentry.org @swcarpentry Thank You
Advertisement