天天看点

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

优秀的教学方法-----老师做教练(Being a Coach);

优秀的学习方法-----学生做中学(Learning By Doing)

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

做教练(Being a Coach)

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

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

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

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

做中学(Learning By Doing)

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

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

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

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

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

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

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

应用心得

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

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

  • 做中学(Learning by Doing)之背单词-扇贝网推荐:两年词汇量超过22000.
  • 做中学之五笔输入法实践教程:通过一个月的训练学会五笔输入法
  • 每天一万步,一周减十斤:通过五个月的训练减肥30斤
  • 「做中学(Learning By Doing)」之乒乓球刻意训练一年总结: 通过一年的训练提升乒乓球技能。

这里面有几个要点:

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

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

他山之玉

  • 北京航空航天大学 的罗杰老师(博客)
  • 福州大学的张栋老师(博客)
  • 东北师范大学的杨贵福老师(博客)
  • 华中科技大学陈冰老师(微博,博客)
  • 很多采用邹欣老师(博客,微博,豆瓣)的《构建之法(电子版)》作教材的学校也是实践让学生做中学(Learning By Doing)的。参见现代软件工程讲义 目录

相关课程

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

  • 课程资料汇总
  • 2014-2015-2 《Java程序设计》课程学生博客列表
  • 2015-2016-2 《Java程序设计》 学生博客及Git@OSC 链接
  • 2015-2016-2 《Java程序设计》课程主页

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

  • 《2015-2016-1 《信息安全系统设计基础》课程总结》
  • 《2016-2017-1 《信息安全系统设计基础》课程总结》

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

  • 《2014-2015-2学期教学总结》

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

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

  • 2015-2016-1 《移动平台应用开发实践》学生博客列表

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

  • 2016-2017-1《Linux内核原理与分析》课程主页

做中学(Learning By Doing)平台

  • 实验楼:优秀的虚拟实验室,Linux下学习编程的好去处
  • i春秋:信息安全体验实验平台(有免费、有收费,有学习视频...)
  • 白帽学院:在线课程,挑战赛,免费
  • 网络安全实验室:网络信息安全攻防学习平台(有免费、有收费,有学习,有测试...)
  • 实验吧:免费信息安全实验平台(有测试,进阶题目,相对简单)

其他应用实例

  • 读写小组

参考资料

  • 构建之法(电子版)
  • Teaching as a Design Science
  • 为什么要练习编码套路(Code Kata)?
  • 如何高效的学习掌握新技术

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

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

  • 原文地址:http://www.cnblogs.com/rocedu/p/4999535.html
  • 推荐网站:博客园、新浪微博、扇贝背单词、DKY背单词小组、有道云笔记、豆瓣读书
  • 版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0

继续阅读