优秀的教学方法---做教练与做中学

优秀的教学方法---做教练与做中学

做教练(Being a Coach)

理论来自邹欣老师《现代软件工程讲义》的「课程概述」,课程配套图书《构建之法(电子版)》中也有相关论述。


要体会教练技术,你可以先看看这部展示教练技术的电影《卡特教练》(去这看)。电影里卡特教练除了球技,还教会了球员怎么做人,让他们远离毒品和暴力。看了之后可以深刻体会「教练」如何影响学员的思维,促进学员成为深度学习者。

我认为老师做教练,结合MOOC、翻转课堂,可以从「填鸭式」上课中解放从来。老师可以从花大量时间备课、知识点重复讲解中解放出来,把时间花在了解学生、指导学生、检查学习状况、答疑上,从而体现“学生为主体、老师为主导”,从而做到循序渐进,从而做到因材施教。对学生而言,通过做中学来建构自己的知识。

做中学(Learning By Doing)

有「做中学(Learning By Doing)」的概念,最早可能是知道了Pragmatic的Dave Thomas提出的CodeKata(代码套路)

套路(Kata)指针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握。这个概念借鉴于武术,指的是可以独自或多人共同练习的一系列动作、招式。

体育运动的初学者练习时候都需要重复动作,比如「学习打乒乓球时」要练习挥拍,挥拍成千上万遍之后动作就会定型,也就是教练常说的「肌肉有了记忆能力」,以后实战中可以不假思索地做出来。

CodeKata(代码套路)可以说程序员的基本功。

韦钰老师的 做中学”/ “Learning by Doing” 理念, 强调的是儿童和少年时期的学习, 但这种方法对于任何年龄的人都适用。

邹欣老师《现代软件工程讲义》中「的习而学的软件工程教育」说:

我认为给学生具体的, 能实践的, 能马上看到因果关系的教材和练习, 是激发学生兴趣, 好奇心, 求知欲的好方法。 我就是这样学习编程和软件开发的。 所以我对「习而学」的方法很有好感。软件工程有理论的部分, 有工程的部分; 有艺术的部分,有手艺的部分; 在同学们达到理论/艺术的阶段之前, 大量的练习是必须的。

应用心得

我现在上课的主要方法就是做教练。每门课程我都有明确的教学进程,对教材做了详细指导,在学生自学期间进行答疑,开课期间问题不超过24小时会被回答。

我有一些在学习,工作,健身中的实践:

这里面有几个要点:

  • 学习是要思考的,仅仅实践是不够的:
    • 不光会动手,还要理解背后的原理
    • 不光会用工具,还要理解支撑的理论
  • 技能是分层次的:
    • 一项技能的掌握程度分为:新手/高级初学者/合格者/精通/专家
    • 对技能要有个期许,不能有了高级初学者的水平就满足了,要有当专家的梦想
  • 实践要具备一定的量才能引起质变:
    • 学乒乓球,没有10万次的练习掌握不了一个动作
    • 学好编程?没有10000行代码的训练量是不够的
  • 技能的提升要「刻意训练」
    • 低水平重复是不行的,训练时间再长都没用
    • 要摆脱「舒适区」,进入「学习区」学习
    • 要循序渐进,不能进入「恐慌区」
  • 学习提升要有反馈
    • 当老师最好的方法是做教练
    • 调过程序的都知道,如果知道哪错了,改起来是很容易的,定位错误在很难,这就是老师(教练)的价值

做中学(Learning By Doing)从老师角度讲就是「项目驱动教学法」。学生在实践中发现问题,解决问题,在迭代中提升。

他山之玉

相关课程

1.《Java程序设计》(本科生)

2.《信息安全系统设计基础》(本科生)

3.《Linux及安全》(本科生)

4.《网络攻防实践》(研究生)

5.《移动平台应用开发实践》(研究生)

6.《Linux内核原理与分析》(研究生)

做中学(Learning By Doing)平台

  • 实验楼:优秀的虚拟实验室,Linux下学习编程的好去处

  • i春秋:信息安全体验实验平台(有免费、有收费,有学习视频...)

  • 白帽学院:在线课程,挑战赛,免费

  • 网络安全实验室:网络信息安全攻防学习平台(有免费、有收费,有学习,有测试...)

  • 实验吧:免费信息安全实验平台(有测试,进阶题目,相对简单)

其他应用实例

参考资料


欢迎关注“rocedu”微信公众号(手机上长按二维码)

做中教,做中学,实践中共同进步!

rocedu



posted @ 2015-11-27 05:40 娄老师 阅读(...) 评论(...) 编辑 收藏