
Mike用Python教Hamlet。照片版权Chris Erdmann: //twitter.com/libcce/status/371281901191196672
I’是纽约市名为Software Carpentry的组织的一部分。它使用志愿者向大学,大型政府组织和其他感兴趣的人群教授不同级别的编程。我之前曾在哥伦比亚大学任教,上周末在哈佛大学举办,由 克里斯·埃德曼,哈佛-史密森天体物理学中心的首席图书馆员。
在使用Software Carpentry之前,我的教学经验仅限于向亲朋好友讲解编程方面的内容,以及在日本为儿童和成人教英语和法语的一年时间的一部分。教学很难。它’批评老师很容易– I’我经常发现自己是如此,而没有考虑将复杂的概念传达给一群背景和动机各不相同的学生的努力和压力。一世’ve从我最近的两次SWC活动中得出了有关如何优化教学风格的一些结论:
星期六’s Teacher line-up
- 迈克·塞里克 上 分析哈姆雷特语中的数据和单词频率
- 关于使用Codecademy练习加强迭代,字符串格式,条件和标识含义的概念
- 埃里克·布雷 在git / github和版本控制上
- 杰西卡·麦凯拉(Jessica McKellar) 正则表达式在拼字游戏中作弊
- 戴维·默里 与所有演示文稿一起提供帮助,主要是针对棘手的面向定义的问题
运作良好的事情
- 幽默。迈克在教程中撒了一些有趣的轶事,这使全班都很活跃。
- 相关和有趣的主题。哈姆雷特(Hamlet)是一个不错的选择,因为面向图书管理员的观众也喜欢在拼字游戏中作弊。字典带来了几个有趣的条目,例如: grep “。* s。* s。* s。* s。* s。* s” 话 | 减
- 添加轶事来拯救人们谷歌搜索。我认为很多程序员’他们的活动仅仅是寻找一个’已经完成了您想做的事情,并做了一些修改–或连接构建块。因此,在结束时谈论诸如 附加() 与串联加号之类的 第一+第二 ,我提到类似 双端队列() and 格式() .
下次要记住的事情
- 慢慢打字。我在MongoDB上工作很多,所以最终从 pymongo 进口 连接; c = 连接() 每天进入终端机20次以上。这可能会变得如此之快,这样的事情对于新来者来说似乎是令人困惑的。
- 使用带有大字体和昏暗灯光的高对比度终端,使其从房间的背面超级容易看清。
什么can advanced programmers get out 的 教学 such basic things?
- 您’从老师和学生那里学到很多东西’s questions
- 社区参与是简历中的一项重要资产,它向潜在的雇主表明您有能力/有能力培训未来的同事
- 当在社会或商业上向非技术人员解释技术问题时,它有助于在教学过程中掌握现有的类比和轶事。
- 您’会遇到许多志同道合的人,参与社区的感觉很棒。
什么did I learn?
- 的 要求 图书馆。我通常使用 urllib2 从网页抓取HTML。事实证明,Urllib2只是一个用于HTTP请求的可扩展性更大的库,如下所示 stackoverflow说明.
- 有关Git的更多信息。我在工作中使用SVN,因此不要’真的向github提交任何东西。 Git很难。 Erik是一位出色的讲师,从容不迫地从基础知识过渡到了.gitignore和diff之类的细节。
- 什么“immutable”真正意思。我听到了很多这样的声音,这基本上意味着事情可以’被分配给一个对象。例如。的。 分裂() 的 myString.分裂() can’t成为变量。非常简单。
这让我感到惊奇的是,实际上很少有人真正了解请求模块。我说的是这样一个人,我只是在去年内自己才了解这一点,但是当我这样做时,就像被揭开了面纱一样。
当然我有’几年后,不得不用urllib2写很多超级复杂的东西,但我记得过去不得不处理多种形式的身份验证,Cookie,代理等,然后花了好几个小时来处理。请求使所有这些变得如此容易,我希望将其添加到stdlib中。
无论如何,感谢您的博客文章。
pingback: 训练营…for Librarians! —2013年8月23日至24日|图书馆员数据科学家培训